BreezeJS中央错误处理程序和自动重试
BreezeJS central error handler and auto retry
有没有办法让Breeze JS在通信失败的情况下自动重试?理想情况下,我想添加一个基于响应的中央事件处理程序,例如 401,我可以提示用户重新登录,然后重试请求,或者如果其一般连接问题为用户提供重试或取消的选项?
我可以在每个请求位置添加代码来处理这个问题,但这将是很多工作,理想情况下,这需要位于一个中心位置。
您可以将重试逻辑放在请求拦截器中。
来自微风文档:
Stock Breeze AJAX 适配器提供了一个扩展点,即 requestInterceptor。此拦截器使开发人员在适配器调用实际的 AJAX 组件之前最后一次查看每个请求。
拦截器采用单个参数,请求信息,并返回 无。
var requestInfo = {
adapter: this, // this AJAX adapter
config: ..., // the configuration object passed to the wrapped AJAX component
dsaConfig: config, // the config arg from the calling Breeze DataServiceAdapter
success: successFn, // adapter's success callback
error: errorFn // adapter's error callback
}
请求拦截器可以包装error
回调并添加重试逻辑和 401 处理。
如果你在jQuery中使用breeze,你可以在较低的级别使用jQuery的ajax预过滤器来做到这一点。
相关文章:
- JavaScript:在源404上重试
- 用分隔符分隔具有多个整数值的字符串的Javascript"重试错误的值
- Ajax在NodeJS中为一个耗时的请求请求多次重试
- 如何仅在RxJs中可观察到的源发出的特定错误上重试
- BreezeJS中央错误处理程序和自动重试
- 如何捕获请求中的错误,然后打开模态,然后在模态使用RxJS关闭时重试
- Angular2 http重试逻辑
- JS重试函数几次,看看它是否返回true
- Promise中的递归重试
- Bluebird Promise 重试 DocumentDB 请求
- 如果发生错误,如何重试 DriveApp.getFileById,直到成功
- Nodejs - 让客户端套接字在 5 秒超时后重试
- 重试时更改 ajax 数据
- RxJS 重试运算符与 ajax 调用
- JS/JQuery 重试 1 秒后 img 加载
- JavaScript重试承诺,直到解决
- 服务器发送的事件忽略重试
- 如果错误可重试,请重试异步函数
- 脸书应用程序请求:发生错误.请稍后重试
- 应用程序已意外停止,请重试安卓