Taro.connectSocket(OBJECT)

创建一个 WebSocket 链接。

支持存在最多两个 WebSocket 链接,每次成功调用 Taro.connectSocket 会返回一个新的 SocketTask

OBJECT 参数说明:

参数类型必填说明
urlString开发者服务器接口地址,必须是 wss 协议
headerObjectHTTP Header , header 中不能设置 Referer
methodString默认是 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
protocolsStringArray子协议数组
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

  1. import Taro from '@tarojs/taro'
  2. Taro.connectSocket({
  3. url: 'ws://echo.websocket.org/echo',
  4. success: function () {
  5. console.log('connect success')
  6. }
  7. }).then(task => {
  8. task.onOpen(function () {
  9. console.log('onOpen')
  10. task.send({ data: 'xxx' })
  11. })
  12. task.onMessage(function (msg) {
  13. console.log('onMessage: ', msg)
  14. task.close()
  15. })
  16. task.onError(function () {
  17. console.log('onError')
  18. })
  19. task.onClose(function (e) {
  20. console.log('onClose: ', e)
  21. })
  22. })

API支持度

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