内容简介:而如果你是一正在使用
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 配制可参看 这里
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Java并发系列—并发编程基础
- [Java并发-17-并发设计模式] Immutability模式:如何利用不变性解决并发问题?
- JAVA并发编程之并发模拟工具
- Java并发系列—并发编程的挑战
- Core Java 并发:理解并发概念
- [Java并发-11] 并发容器的使用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。