title: RequestTask

sidebar_label: RequestTask

网络请求任务对象

支持情况:RequestTask - 图1 RequestTask - 图2 RequestTask - 图3 RequestTask - 图4 RequestTask - 图5 RequestTask - 图6 RequestTask - 图7 RequestTask - 图8

参考文档

方法

abort

中断请求任务

支持情况:RequestTask - 图9 RequestTask - 图10 RequestTask - 图11 RequestTask - 图12

参考文档

  1. () => void

onHeadersReceived

监听 HTTP Response Header 事件。会比请求完成事件更早

支持情况:RequestTask - 图13 RequestTask - 图14 RequestTask - 图15 RequestTask - 图16

参考文档

  1. (callback: Callback) => void
参数 类型 说明
callback Callback HTTP Response Header 事件的回调函数

offHeadersReceived

取消监听 HTTP Response Header 事件

支持情况:RequestTask - 图17 RequestTask - 图18 RequestTask - 图19 RequestTask - 图20

参考文档

  1. (callback: Callback) => void
参数 类型 说明
callback Callback HTTP Response Header 事件的回调函数

onChunkReceived

监听 Transfer-Encoding Chunk Received 事件。当接收到新的chunk时触发。

支持情况:RequestTask - 图21 RequestTask - 图22 RequestTask - 图23 RequestTask - 图24

参考文档

  1. (callback: Callback) => void
参数 类型 说明
callback Callback Transfer-Encoding Chunk Received 事件的回调函数

offChunkReceived

监听 Transfer-Encoding Chunk Received 事件。当接收到新的chunk时触发。

支持情况:RequestTask - 图25 RequestTask - 图26 RequestTask - 图27 RequestTask - 图28

参考文档

  1. (callback: Callback) => void
参数 类型 说明
callback Callback Transfer-Encoding Chunk Received 事件的回调函数

参数

onHeadersReceived

Callback

HTTP Response Header 事件的回调函数

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

CallbackResult

参数 类型 说明
header TaroGeneral.IAnyObject 开发者服务器返回的 HTTP Response Header

onChunkReceived

Callback

Transfer-Encoding Chunk Received 事件的回调函数

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

CallbackResult

参数 类型 说明
res Response 开发者服务器每次返回新 chunk 时的 Response

Response

开发者服务器每次返回新 chunk 时的 Response

参数 类型 说明
data ArrayBuffer 返回的chunk buffer

示例代码

示例 1

回调函数(Callback)用法:

  1. const requestTask = Taro.request({
  2. url: 'test.php', //仅为示例,并非真实的接口地址
  3. data: {
  4. x: '' ,
  5. y: ''
  6. },
  7. header: {
  8. 'content-type': 'application/json' // 默认值
  9. },
  10. success: function (res) {
  11. console.log(res.data)
  12. }
  13. })
  14. requestTask.abort()

示例 2

Promise 用法:

  1. const requestTask = Taro.request({
  2. url: 'test.php', //仅为示例,并非真实的接口地址
  3. data: {
  4. x: '' ,
  5. y: ''
  6. },
  7. header: {
  8. 'content-type': 'application/json' // 默认值
  9. },
  10. success: function (res) {
  11. console.log(res.data)
  12. }
  13. })
  14. requestTask.then(res => {
  15. console.log(res.data)
  16. })
  17. requestTask.abort()

示例 3

async/await 用法:

  1. const requestTask = Taro.request(params)
  2. const res = await requestTask
  3. requestTask.abort()

API 支持度

API 微信小程序 百度小程序 支付宝小程序 字节跳动小程序 QQ 小程序 H5 React Native Harmony
RequestTask ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
RequestTask.abort ✔️
RequestTask.onHeadersReceived ✔️
RequestTask.offHeadersReceived ✔️
RequestTask.onChunkReceived ✔️
RequestTask.offChunkReceived ✔️