【发布时间】:2019-03-19 18:58:08
【问题描述】:
我正在使用axios-retry 我正在尝试它会在响应条件而不是响应状态上重试。 我的状态是 200 我认为因为它不会重试, 我的代码是
raxConfig: {
retry: retry,
retryDelay: retryDelay,
httpMethodsToRetry: ["GET"],
statusCodesToRetry: [
[200, 300]
],
shouldRetry: (err) => {
const cfg = rax.getConfig(err);
if (cfg.data.isFinal == true) {
return false
} else {
return true;
}
}
【问题讨论】:
-
如果响应不满足某些条件,您可以添加响应拦截器并抛出错误。 github.com/axios/axios#interceptors
-
我可以用npmjs.com/package/retry-axios把这个函数放在哪里
-
retry-axios是axios下的包装器。interceptors- 是axios的一部分。将响应拦截器添加到您在代码中使用的axios实例,然后在拦截器中抛出错误,如果响应看起来无效,retry-axios会自动捕获错误并尝试重新发送请求 -
我添加了这个,但问题是我确实返回了 Promise.reject(error);但后来它不做重试它会赶上
-
请您提供完整的代码作为答案,谢谢
标签: javascript axios axios-retry