title: SocketTask

sidebar_label: SocketTask

WebSocket 任务,可通过 Taro.connectSocket() 接口创建返回。

支持情况:SocketTask - 图1 SocketTask - 图2 SocketTask - 图3 SocketTask - 图4 SocketTask - 图5

参考文档

方法

参数 类型 说明
socketTaskId number websocket 当前的连接 ID。
readyState number websocket 当前的连接状态。
errMsg string websocket 接口调用结果。
CONNECTING number websocket 状态值:连接中。
OPEN number websocket 状态值:已连接。
CLOSING number websocket 状态值:关闭中。
CLOSED number websocket 状态值:已关闭。
ws WebSocket 浏览器 websocket 实例。(h5 端独有)

send

通过 WebSocket 连接发送数据

支持情况:SocketTask - 图6 SocketTask - 图7 SocketTask - 图8 SocketTask - 图9 SocketTask - 图10

参考文档

  1. (option: SendOption) => void
参数 类型
option SendOption

close

关闭 WebSocket 连接

支持情况:SocketTask - 图11 SocketTask - 图12 SocketTask - 图13 SocketTask - 图14 SocketTask - 图15

参考文档

  1. (option: CloseOption) => void
参数 类型
option CloseOption

onOpen

监听 WebSocket 连接打开事件

支持情况:SocketTask - 图16 SocketTask - 图17 SocketTask - 图18 SocketTask - 图19 SocketTask - 图20

参考文档

  1. (callback: OnOpenCallback) => void
参数 类型 说明
callback OnOpenCallback WebSocket 连接打开事件的回调函数

onClose

监听 WebSocket 连接关闭事件

支持情况:SocketTask - 图21 SocketTask - 图22 SocketTask - 图23 SocketTask - 图24 SocketTask - 图25

参考文档

  1. (callback: OnCloseCallback) => void
参数 类型 说明
callback OnCloseCallback WebSocket 连接关闭事件的回调函数

onError

监听 WebSocket 错误事件

支持情况:SocketTask - 图26 SocketTask - 图27 SocketTask - 图28 SocketTask - 图29 SocketTask - 图30

参考文档

  1. (callback: OnErrorCallback) => void
参数 类型 说明
callback OnErrorCallback WebSocket 错误事件的回调函数

onMessage

监听 WebSocket 接受到服务器的消息事件

支持情况:SocketTask - 图31 SocketTask - 图32 SocketTask - 图33 SocketTask - 图34 SocketTask - 图35

参考文档

  1. <T = any>(callback: OnMessageCallback<T>) => void
参数 类型 说明
callback T WebSocket 接受到服务器的消息事件的回调函数

参数

CloseOption

参数 类型 必填 说明
code number 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。
complete (res: TaroGeneral.CallbackResult) => void 接口调用结束的回调函数(调用成功、失败都会执行)
fail (res: TaroGeneral.CallbackResult) => void 接口调用失败的回调函数
reason string 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。
success (res: TaroGeneral.CallbackResult) => void 接口调用成功的回调函数

OnCloseCallback

WebSocket 连接关闭事件的回调函数

  1. (result: OnCloseCallbackResult) => void
参数 类型
result OnCloseCallbackResult

OnCloseCallbackResult

参数 类型 说明
code number 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。
reason string 一个可读的字符串,表示连接被关闭的原因。

OnErrorCallback

WebSocket 错误事件的回调函数

  1. (result: OnErrorCallbackResult) => void
参数 类型
result OnErrorCallbackResult

OnErrorCallbackResult

参数 类型 说明
errMsg string 错误信息

OnMessageCallback

WebSocket 接受到服务器的消息事件的回调函数

  1. (result: OnMessageCallbackResult<T>) => void
参数 类型
result OnMessageCallbackResult<T>

OnMessageCallbackResult

参数 类型 说明
data T 服务器返回的消息

OnOpenCallback

WebSocket 连接打开事件的回调函数

  1. (result: OnOpenCallbackResult) => void
参数 类型
result OnOpenCallbackResult

OnOpenCallbackResult

参数 类型 说明
header TaroGeneral.IAnyObject 连接成功的 HTTP 响应 Header

SendOption

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

API 支持度

API 微信小程序 百度小程序 支付宝小程序 H5 React Native
SocketTask ✔️ ✔️ ✔️ ✔️ ✔️
SocketTask.send ✔️ ✔️ ✔️ ✔️ ✔️
SocketTask.close ✔️ ✔️ ✔️ ✔️ ✔️
SocketTask.onOpen ✔️ ✔️ ✔️ ✔️ ✔️
SocketTask.onClose ✔️ ✔️ ✔️ ✔️ ✔️
SocketTask.onError ✔️ ✔️ ✔️ ✔️ ✔️
SocketTask.onMessage ✔️ ✔️ ✔️ ✔️ ✔️