Axios 插件:重试失败的请求。
npm install axios-retry
// CommonJS
// const axiosRetry = require('axios-retry');
// ES6
import axiosRetry from 'axios-retry';
axiosRetry(axios, { retries: 3 });
// 第一次请求失败,第二次返回 'ok'
axios.get('http://example.com/test')
.then(result => {
result.data; // 'ok'
});
// 请求之间用指数后退形式的重试延迟
axiosRetry(axios, { retryDelay: axiosRetry.exponentialDelay});
// 自定义重试延迟
axiosRetry(axios, { retryDelay: (retryCount) => {
return retryCount * 1000;
}});
// 自定义 axios 实例
const client = axios.create({ baseURL: 'http://example.com' });
axiosRetry(client, { retries: 3 });
// 第一次请求失败,第二次成功
client.get('/test')
.then(result => {
result.data; // 'ok'
});
// 允许 request-specific 配置
client
.get('/test', {
'axios-retry': {
retries: 0
}
})
.catch(error => { // 第一次请求失败
error !== undefined
});
备注: 除非 shouldResetTimeout
被设置, 这个插件将请求超时解释为全局值, 不是针对每一个请求,而是全局的设置。
Name | Type | Default | Description |
---|---|---|---|
retries | Number | 3 | 失败前重试的次数。 |
retryCondition | Function | isNetworkOrIdempotentRequestError | 如果应该重试请求,则进一步控制的回调。默认情况下,如果是幂等请求的网络错误或5xx错误,它会重试(GET, HEAD, OPTIONS, PUT or DELETE). |
shouldResetTimeout | Boolean | false | 定义是否应在重试之间重置超时。 |
retryDelay | Function | function noDelay() { return 0; } | 控制重试请求之间的延迟。默认情况下,重试之间没有延迟。另一个选项是exponentialDelay (Exponential Backoff). 这个函数传递retryCount 和error . |
Highcharts 音量表(VU Meter)Highcharts 测量图以下实例演示了音量表(VU Meter)。我们在前面的章节已经了解了 Highcharts 基...
Highcharts 区域图本章节我们为大家介绍几种区域图类型。序号图表类型 1基本区域图 2区域图,使用负值 3堆叠区域图,各个区域叠...
构建并运行Angular应用本文讨论的是Angular项目中与构建有关的配置项。配置应用环境你可以用不同的默认值来为项目定义出不同的命...
英雄编辑器应用程序现在有了基本的标题。接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。要查...
更新Angular本指南包含更新到Angular版本13 的信息。更新AngularCLI应用程序有关如何更新到最新的Angular版本和利用Angular自动...