百度智能小程序 通过发送数据

2020-09-05 14:09 更新

swan.sendSocketMessage

解释:通过 WebSocket 连接发送数据,需要先调用 swan.connectSocket,并在 swan.onSocketOpen 回调之后才能发送。

方法参数

Object object

object 参数说明

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

data

String

需要发送的内容

success

Function

接口调用成功的回调函数

fail

Function

接口调用失败的回调函数

complete

Function

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

示例


图片示例



代码示例 1 : 

在开发者工具中打开

<button type="primary" bindtap="sendSocketMessage">发送消息</button>
Page({
    sendSocketMessage() { 
        swan.onSocketOpen(function () {
            swan.sendSocketMessage({
                data: 'baidu',
                success: res => {
                    swan.showToast({
                        title: 'WebSocket发送数据成功',
                        icon: "none"
                    });
                    console.log('WebSocket发送数据成功', res);
                },
                fail: err => {
                    console.log('WebSocket发送数据失败', err);
                }
            });
        });

        swan.connectSocket({
            url: 'wss://echo.websocket.org',
            header: {},
            success: res => {
                console.log('connectSocket success', res);
            },
            fail: err => {
                console.log('connectSocket fail', err);
            }
        });
    }
});

代码示例 2 - 示例 1 的另一种写法 : 

在开发者工具中打开

<button type="primary" bindtap="sendSocketMessage">发送消息</button>

Page({
    sendSocketMessage() { 
        new Promise((resolve, reject) => {
            const socketHandler = swan.connectSocket({
                url: 'wss://echo.websocket.org',
                header: {},
                success: function (res) {
                    console.log('connectSocket success', res.socketTaskId)
                },
                fail: function (err) {
                    reject(err);
                    console.log('connectSocket fail', err);
                }
            });
            socketHandler.onOpen(function () {
                resolve(socketHandler);
            });
        })
        .then(socketHandler => {
            swan.sendSocketMessage({
                data: 'baidu',
                success: res => {
                    swan.showToast({
                        title: 'WebSocket发送数据成功',
                        icon: "none"
                    });
                    console.log('WebSocket发送数据成功', res);
                },
                fail: err => {
                    console.log('WebSocket发送数据失败', err);
                }
            });
        })    
    }
});

    错误码

    Android

    错误码说明

    302

    找不到调起协议对应端能力方法

    202

    解析失败,请检查参数是否正确

    1001

    执行失败

    iOS

    错误码说明

    4

    参数有误


    以上内容是否对您有帮助:
    在线笔记
    App下载
    App下载

    扫描二维码

    下载编程狮App

    公众号
    微信公众号

    编程狮公众号