百度智能小程序 关闭连接

2020-09-05 18:01 更新

swan.closeSocket

解释:关闭 WebSocket 连接。必须在 WebSocket 打开期间调用 swan.closeSocket 才能关闭。

方法参数

Object object

object 参数说明

属性名类型必填默认值说明

code

Number

一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是 1000 (表示正常连接关闭)

reason

String

一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)

success

Function

接口调用成功的回调函数

fail

Function

否 接口调用失败的回调函数

complete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

示例 

在开发者工具中打开

图片示例


代码示例

<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

    公众号
    微信公众号

    编程狮公众号