Requester

Requester

请求管理器,负责对接口请求进行各种封装处理,详见[基础能力] 灵活易扩展的请求管理

Constructor

new Requester(configOptionsopt)

Source:

构造函数

Parameters:
Name Type Attributes Description
configOptions Object <optional>

配置参数,参见Requester#config

Methods

config(configOptions)

Source:

配置

Parameters:
Name Type Description
configOptions object
Properties
Name Type Attributes Description
underlayRequest function <optional>

底层网络api,功能格式同wx.request

plugins Array.<BasePlugin> <optional>

插件列表

makeAssignableMethod(methodName) → {function}

Source:

将方法封装为通用函数,使之可以在任意this对象上执行

Parameters:
Name Type Description
methodName string

方法名

Returns:

封装后的函数

Type
function

registerToThis(methodName, methodFunc)

Source:

在requester对象上注册方法,用于提供便捷调用
e.g.注册requestWithLogin方法便于直接进行需要登录态的接口调用
要求新注册方法名不得与已有方法名冲突

Parameters:
Name Type Description
methodName string

方法名

methodFunc function

方法函数

(async) request(reqOptions, manageOptionsopt) → {*|Requester~ReqRes}

Source:

发送请求

Example
let fetchData = requester.request({
  url: ''
});

fetchData.then(resp=>{ //成功时,返回结果直接是服务端返回的数据(wx.request success回调中的res.data)
  //resp数据格式,取决于服务端返回内容,和请求header中dataType等字段的设置
  console.log('server data:', resp);
});
fetchData.catch(res=>{ //失败时,返回结果是完整请求结果(wx.request fail回调中的整个res)
  console.log('errMsg:', res.errMsg); 
});
Parameters:
Name Type Attributes Description
reqOptions Requester~ReqOptions
manageOptions Requester~ManageOptions <optional>
Returns:

成功时resolve接口数据,失败时reject完整请求结果

Type
* | Requester~ReqRes

Type Definitions

AfterRequestRes

Source:
Properties:
Name Type Attributes Description
action string

期望的后续处理:'continue'-继续 | 'override'-以指定内容作为请求结果返回 | 'retry'-重新发送请求,并以重试结果作为本次请求结果返回

overrideRes Requester~ReqRes <optional>

action==='override'时,作为请求结果的指定内容

请求返回后的各种扩展逻辑处理结果

Type:
  • object

BeforeRequestRes

Source:
Properties:
Name Type Description
action string

期望的后续处理:'continue'-继续 | 'cancel'-终止该请求 | 'feed'-返回指定内容(如接口缓存、mock数据等)

errMsg string

错误信息

feedRes Requester~ReqRes

(action==='feed'时)指定的返回内容

plugin BasePlugin

决定该处理方式的插件(该字段会自动添加,插件钩子函数中无需返回)

请求发起前的各种扩展逻辑处理结果

Type:
  • object

ManageOptions

Source:
Properties:
Name Type Description
thisIssuer object

发起接口请求的this对象

disableRetry boolean

是否禁止重试(避免无限次重试接口调用导致死循环)

接口请求管理选项

Type:
  • object

ReqOptions

Source:
Properties:
Name Type Attributes Default Description
url string

开发者服务器接口地址

data string | object | ArrayBuffer <optional>

请求的参数

header object <optional>

设置请求的 header,header 中不能设置 Referer

method string <optional>
'GET'

HTTP 请求方法

dataType string <optional>
'json'

返回的数据格式

responseType string <optional>
'text'

响应的数据类型

success function <optional>

兼容起见支持回调,但更建议以Promise形式使用

fail function <optional>

兼容起见支持回调,但更建议以Promise形式使用

complete function <optional>

兼容起见支持回调,但更建议以Promise形式使用

接口请求参数,格式同wx.request

Type:
  • object

ReqRes

Source:
Properties:
Name Type Attributes Description
succeeded boolean

模块补充字段,请求是否成功(服务器返回即算成功,包括404/500等,网络异常等导致请求未正常返回才算失败)

data string | Object | ArrayBuffer <optional>

(成功时)开发者服务器返回的数据

statusCode number <optional>

(成功时)开发者服务器返回的 HTTP 状态码

header Object <optional>

(成功时)开发者服务器返回的 HTTP Response Header

errMsg string <optional>

(失败时)错误信息

接口请求结果,除标注了“模块补充”的字段外,格式同wx.request

Type:
  • object