SocketTask
WebSocket 任务,可通过 Taro.connectSocket() 接口创建返回。
支持情况:
 
 
 
 
 
 
方法
| 参数 | 类型 | 说明 | 
|---|---|---|
| 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 连接发送数据
支持情况:
 
 
 
 
 
 
 
(option: SendOption) => void
| 参数 | 类型 | 
|---|---|
| option | SendOption | 
close
关闭 WebSocket 连接
支持情况:
 
 
 
 
 
 
 
(option: CloseOption) => void
| 参数 | 类型 | 
|---|---|
| option | CloseOption | 
onOpen
监听 WebSocket 连接打开事件
支持情况:
 
 
 
 
 
 
 
(callback: OnOpenCallback) => void
| 参数 | 类型 | 说明 | 
|---|---|---|
| callback | OnOpenCallback | WebSocket 连接打开事件的回调函数 | 
onClose
监听 WebSocket 连接关闭事件
支持情况:
 
 
 
 
 
 
 
(callback: OnCloseCallback) => void
| 参数 | 类型 | 说明 | 
|---|---|---|
| callback | OnCloseCallback | WebSocket 连接关闭事件的回调函数 | 
onError
监听 WebSocket 错误事件
支持情况:
 
 
 
 
 
 
 
(callback: OnErrorCallback) => void
| 参数 | 类型 | 说明 | 
|---|---|---|
| callback | OnErrorCallback | WebSocket 错误事件的回调函数 | 
onMessage
监听 WebSocket 接受到服务器的消息事件
支持情况:
 
 
 
 
 
 
 
<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 连接关闭事件的回调函数
(result: OnCloseCallbackResult) => void
| 参数 | 类型 | 
|---|---|
| result | OnCloseCallbackResult | 
OnCloseCallbackResult
| 参数 | 类型 | 说明 | 
|---|---|---|
| code | number | 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 | 
| reason | string | 一个可读的字符串,表示连接被关闭的原因。 | 
OnErrorCallback
WebSocket 错误事件的回调函数
(result: OnErrorCallbackResult) => void
| 参数 | 类型 | 
|---|---|
| result | OnErrorCallbackResult | 
OnErrorCallbackResult
| 参数 | 类型 | 说明 | 
|---|---|---|
| errMsg | string | 错误信息 | 
OnMessageCallback
WebSocket 接受到服务器的消息事件的回调函数
(result: OnMessageCallbackResult<T>) => void
| 参数 | 类型 | 
|---|---|
| result | OnMessageCallbackResult<T> | 
OnMessageCallbackResult
| 参数 | 类型 | 说明 | 
|---|---|---|
| data | T | 服务器返回的消息 | 
OnOpenCallback
WebSocket 连接打开事件的回调函数
(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 | Harmony | Harmony hybrid | 
|---|---|---|---|---|---|---|---|---|
| SocketTask | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ||
| SocketTask.send | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| SocketTask.close | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| SocketTask.onOpen | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| SocketTask.onClose | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| SocketTask.onError | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| SocketTask.onMessage | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |