百度智能小程序 通過發(fā)送數(shù)據(jù)

2020-09-05 14:09 更新

swan.sendSocketMessage

解釋:通過 WebSocket 連接發(fā)送數(shù)據(jù),需要先調(diào)用 swan.connectSocket,并在 swan.onSocketOpen 回調(diào)之后才能發(fā)送。

方法參數(shù)

Object object

object 參數(shù)說明

屬性名類型必填默認(rèn)值說明

data

String

需要發(fā)送的內(nèi)容

success

Function

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

fail

Function

接口調(diào)用失敗的回調(diào)函數(shù)

complete

Function

接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

示例


圖片示例



代碼示例 1 : 

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

<button type="primary" bindtap="sendSocketMessage">發(fā)送消息</button>
Page({
    sendSocketMessage() { 
        swan.onSocketOpen(function () {
            swan.sendSocketMessage({
                data: 'baidu',
                success: res => {
                    swan.showToast({
                        title: 'WebSocket發(fā)送數(shù)據(jù)成功',
                        icon: "none"
                    });
                    console.log('WebSocket發(fā)送數(shù)據(jù)成功', res);
                },
                fail: err => {
                    console.log('WebSocket發(fā)送數(shù)據(jù)失敗', 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 的另一種寫法 : 

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

<button type="primary" bindtap="sendSocketMessage">發(fā)送消息</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發(fā)送數(shù)據(jù)成功',
                        icon: "none"
                    });
                    console.log('WebSocket發(fā)送數(shù)據(jù)成功', res);
                },
                fail: err => {
                    console.log('WebSocket發(fā)送數(shù)據(jù)失敗', err);
                }
            });
        })    
    }
});

    錯(cuò)誤碼

    Android

    錯(cuò)誤碼說明

    302

    找不到調(diào)起協(xié)議對(duì)應(yīng)端能力方法

    202

    解析失敗,請(qǐng)檢查參數(shù)是否正確

    1001

    執(zhí)行失敗

    iOS

    錯(cuò)誤碼說明

    4

    參數(shù)有誤


    以上內(nèi)容是否對(duì)您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號(hào)
    微信公眾號(hào)

    編程獅公眾號(hào)