内容简介:而如果你是一正在使用
axios
基于 promise
用于 浏览器 和 node.js 的 http 客户端;
而 axios-extra
扩展了 axios
让它拥有有 并发控制
以及 重试
的能力;
如果你是一正在使用 axios
只要修改一行代码立即拥有
安装
npm i axios-extra
使用
默认最大 10 并发, 0 重试;
//const axios = require('axios');
const axios = require('axios-extra'); //修改一行代码 无感使用 axios-extra
设置并发数,及重试次数
方式一: 用 axios.defaults
修改默认配制
const axios = require('axios-extra');
axios.defaults.maxConcurrent = 1; //修改并发为1
axios.defaults.queueOptions.retry = 2; //修改默认重试次数为2
方式二: 用 axios.create(config)
创建新的 axios
const axios = require('axios-extra');
let axios1 = axios.create({
maxConcurrent: 1, //并发为1
queueOptions: {
retry: 3, //请求失败时,最多会重试3次
retryIsJump: true //是否立即重试, 否则将在请求队列尾部插入重试请求
}
});
方式三: 为某一次特殊请求单独设置重试
设置 config
参数的 queueOptions
属性即可;
const axios = require('axios-extra');
//本次get请求若不成功,将重试3次
axios.get('http://xxx',{
queueOptions: {retry: 3}
})
axios
的发送请求方法均可使用:
axios(config) axios.request(config) axios.get(url[, config]) axios.delete(url[, config]) axios.head(url[, config]) axios.options(url[, config]) axios.post(url[, data[, config]]) axios.put(url[, data[, config]]) axios.patch(url[, data[, config]])
补充
并发与重试都是基于队列实现的, 默人重试是在队列的最后重新插入请求.
retryIsJump
设置为 true
最会在队列头部插入请求, 实现 立即重试
更多 queueOptions 配制可参看 这里
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
High Performance Python
Micha Gorelick、Ian Ozsvald / O'Reilly Media / 2014-9-10 / USD 39.99
If you're an experienced Python programmer, High Performance Python will guide you through the various routes of code optimization. You'll learn how to use smarter algorithms and leverage peripheral t......一起来看看 《High Performance Python》 这本书的介绍吧!