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
|
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