SocketTask.onMessage

解释:监听 WebSocket 接受到服务器的消息事件。

# 方法参数

Function callback

# callback参数说明

属性名 类型 必填 默认值 说明
data String/ArrayBuffer 服务器返回的消息

# 示例

扫码体验
重新加载
请使用百度APP扫码

# 图片示例

# 代码示例

    <button type="primary" bindtap="socketTaskSend" disabled="{{disabled}}">socketTask.onMessage</button>
    
    Page({
        onShow() {
            const socketTask = new Promise((resolve, reject) => {
                const socketHandler = swan.connectSocket({
                    url: 'wss://echo.websocket.org',
                    header: {},
                    success: res => {
                        console.log('connectSocket success', res.socketTaskId);
                    },
                    fail: err => {
                        reject(err);
                        console.log('connectSocket fail', err);
                    }
                });
                socketHandler.onOpen(() => {
                    resolve(socketHandler);
                });
                socketHandler.onMessage((res) => {
                    swan.showModal({
                        title: '监听到发送的数据为' + res.data,
                        content: res.dataType + '类型'
                    });
                });
            });
            this.socketTask = socketTask;
        },
    
        socketTaskSend() {
            this.socketTask.then(socketHandler => {
                socketHandler.send({
                    data: 'baidu',
                    success: res => {
                        swan.showToast({
                            title: '发送数据成功'
                        });
                        console.log('WebSocket发送数据成功', res);
                    },
                    fail: err => {
                        swan.showToast({
                            title: '发送数据失败'
                        });
                        console.log('WebSocket发送数据失败', err);
                    }
                });
            });
        }
    });