创建一个 WebSocket 链接。
支持存在最多两个 WebSocket 链接,每次成功调用 Taro.connectSocket 会返回一个新的 SocketTask
OBJECT 参数说明:

参数 类型 必填 说明
url String 开发者服务器接口地址,必须是 wss 协议
header Object HTTP Header , header 中不能设置 Referer
method String 默认是 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
protocols StringArray 子协议数组
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

  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 微信小程序 H5 React Native 支付宝小程序 百度小程序
Taro.connectSocket ✔️ ✔️ ✔️ ✔️ ✔️
SocketTask ✔️ ✔️ ✔️ ✔️ ✔️