百度智能小程序 關閉連接

2020-09-05 18:01 更新

swan.closeSocket

解釋:關閉 WebSocket 連接。必須在 WebSocket 打開期間調用 swan.closeSocket 才能關閉。

方法參數(shù)

Object object

object 參數(shù)說明

屬性名類型必填默認值說明

code

Number

一個數(shù)字值表示關閉連接的狀態(tài)號,表示連接被關閉的原因。如果這個參數(shù)沒有被指定,默認的取值是 1000 (表示正常連接關閉)

reason

String

一個可讀的字符串,表示連接被關閉的原因。這個字符串必須是不長于 123 字節(jié)的 UTF-8 文本(不是字符)

success

Function

接口調用成功的回調函數(shù)

fail

Function

否 接口調用失敗的回調函數(shù)

complete

Function

接口調用結束的回調函數(shù)(調用成功、失敗都會執(zhí)行)

示例 

在開發(fā)者工具中打開

圖片示例


代碼示例

<button type="primary" disabled="{{!openWebsocket}}" bindtap="closeSocket">關閉websocket</button>
    Page({
        onShow() {
            swan.connectSocket({
                url: 'wss://echo.websocket.org',
                success: res => {
                    console.log('connectSocket success', res);
                    swan.showToast({
                        title: 'websocket已打開',
                        icon: 'none'
                    });
                },
                fail: err => {
                    console.log('connectSocket fail', err);
                    swan.showToast({
                        title: 'websocket打開失敗',
                        icon: 'none'
                    });
                }
            });
            swan.onSocketOpen(() => {
                this.setData({'openWebsocket': true});
            });
        },
        closeSocket() {
            // 注意這里有時序問題,
            // 如果 swan.connectSocket 還沒回調 swan.onSocketOpen,而先調用 swan.closeSocket,那么就做不到關閉 WebSocket 的目的。
            // 必須在 WebSocket 打開期間調用 swan.closeSocket 才能關閉。
            let openWebsocket = this.getData('openWebsocket');
            if (openWebsocket) {
                swan.closeSocket({
                    code: '1001',
                    reason: 'user tap',
                    success: res => {
                        swan.showModal({
                            title: 'websocket已關閉'
                        });
                        console.log('WebSocket鏈接關閉成功', res);
                    },
                    fail: err => {
                        swan.showToast({
                            title: 'websocket關閉失敗',
                            icon: 'none'
                        });
                        console.log('connectSocket fail', err);
                    }
                });
            }
        }
    });
    以上內容是否對您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號
    微信公眾號

    編程獅公眾號