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

参考文档

类型

  1. (option: Option) => Promise<CallbackResult>

参数

Option

参数类型必填说明
datastring | ArrayBuffer需要发送的内容
complete(res: CallbackResult) => void接口调用结束的回调函数(调用成功、失败都会执行)
fail(res: CallbackResult) => void接口调用失败的回调函数
success(res: CallbackResult) => void接口调用成功的回调函数

示例代码

  1. let socketOpen = false
  2. const socketMsgQueue = []
  3. Taro.connectSocket({
  4. url: 'test.php'
  5. })
  6. Taro.onSocketOpen(function(res) {
  7. socketOpen = true
  8. for (let i = 0; i < socketMsgQueue.length; i++){
  9. sendSocketMessage(socketMsgQueue[i])
  10. }
  11. socketMsgQueue = []
  12. })
  13. function sendSocketMessage(msg) {
  14. if (socketOpen) {
  15. Taro.sendSocketMessage({
  16. data:msg
  17. })
  18. } else {
  19. socketMsgQueue.push(msg)
  20. }
  21. }

API 支持度

API微信小程序百度小程序支付宝小程序H5React Native
Taro.sendSocketMessage✔️✔️✔️