FailRecoverPlugin

FailRecoverPlugin

请求管理-网络异常处理插件
在请求前后植入网络异常处理逻辑,详见[基础能力] 灵活易扩展的请求管理

Constructor

new FailRecoverPlugin(pluginNameopt, requestFailRecoverer)

Source:

构造函数

Parameters:
Name Type Attributes Default Description
pluginName string <optional>
'FailRecoverPlugin'

插件名称,主要用于打印日志和调试,便于追溯操作源

requestFailRecoverer FailRecoverPlugin~RequestFailRecoverer

网络异常处理函数

Extends

Members

pluginName :string

Source:
Overrides:

插件名称,主要用于打印日志和调试,便于追溯操作源

Type:
  • string

requester :Requester

Source:
Overrides:

请求管理器

Type:

Methods

afterRequest(reqOptions, thisIssuer, reqRes) → {undefined|Requester~AfterRequestRes}

Source:
Overrides:

钩子函数,请求返回之后调用,同步
不会等待异步操作返回,如需等待异步逻辑,请改用BasePlugin#afterRequestAsync

Parameters:
Name Type Description
reqOptions Requester~ReqOptions

请求参数

thisIssuer object

发起接口请求的this对象

reqRes Requester~ReqRes

请求结果

Returns:

期望的后续处理,undefined表示继续执行默认流程

Type
undefined | Requester~AfterRequestRes

(async) afterRequestAsync(reqOptions, thisIssuer, reqRes) → {undefined|Requester~AfterRequestRes}

Source:
Overrides:

在接口请求返回后检查并植入网络异常处理逻辑

Parameters:
Name Type Description
reqOptions Requester~ReqOptions

请求参数

thisIssuer object

发起接口请求的this对象

reqRes Requester~ReqRes

请求结果

Returns:

期望的后续处理,undefined表示继续执行默认流程

Type
undefined | Requester~AfterRequestRes

beforeRequest(reqOptions, thisIssuer) → {undefined|Requester~BeforeRequestRes}

Source:
Overrides:

钩子函数,发请求之前调用,同步
不会等待异步操作返回,如需等待异步逻辑,请改用BasePlugin#beforeRequestAsync

Parameters:
Name Type Description
reqOptions Requester~ReqOptions

请求参数

thisIssuer object

发起接口请求的this对象

Returns:

期望的后续处理,undefined表示继续执行默认流程

Type
undefined | Requester~BeforeRequestRes

(async) beforeRequestAsync(reqOptions, thisIssuer) → {undefined|Requester~BeforeRequestRes}

Source:
Overrides:

钩子函数,发请求之前调用,异步
会等待async函数resolve,若无异步逻辑,建议使用BasePlugin#beforeRequest

Parameters:
Name Type Description
reqOptions Requester~ReqOptions

请求参数

thisIssuer object

发起接口请求的this对象

Returns:

期望的后续处理,undefined表示继续执行默认流程

Type
undefined | Requester~BeforeRequestRes

mount(requester)

Source:
Overrides:

钩子函数,插件被挂载到requester对象上时触发

Parameters:
Name Type Description
requester Requester

被挂载到的requester对象

Type Definitions

RequestFailRecoverer(res, options, resolve, reject)

Source:

网络异常处理函数

Example
function requestFailRecoverer({res, options, resolve, reject}){
  //展示网络异常界面,提示用户“点击屏幕任意位置重试”
  //点击重试
  //重试成功,resolve(重试后的请求结果)
  //发生异常,reject(异常详情)
  
  console.log('this:', this); //另,调用时this对象会设置为:发起请求的this对象
}
Parameters:
Name Type Description
res Requester~ReqRes

接口请求结果

options Requester~ReqOptions

接口请求参数

resolve function

重试成功时回调重试结果

reject function

重试失败时回调失败原因