axios-extra

0.0.8 • Public • Published

axios-extra

Coverage Status github test

通过 ES6 的Proxy对像, 让 axios 集成 promise-queue-plus, 使 axios 支持 最大并发出错重试 的功能.

未添加任何 API, 你完全可以像使用 axios 那样使用 axios-extra; 由于使用了Proxy,请注意兼性.

API

axios.create(config)

现在可以通过设置 maxConcurrentqueueOptions 属性, 设置最大并发及重试次数.

// axios 并发为10, 自动重试为0
const axios = require('axios-extra'); //默认最大并发 10, 重试 0;

// 创建一个 并发为1, 自动重试为3的 axios;
let axios1 = axios.create({
	maxConcurrent:1, //并发为1
	queueOptions: {
		retry:3, //请求失败时,最多会重试3次
		retryIsJump: true //是否立即重试, 否则将在请求队列尾部插入重试请求
	}
});

let {stop, start, clear} = axios1.requestQueue; // 暴露内部的队列对像,可以使用 stop start clear 等 API;

更多 queueOptions 配制可参看这里

axios(config) 及 get|post|request|delete|head|options|put|patch

config参数可以为某一次的请求设置 queueOptions;

axios.get('https://www.google.com',{
	queueOptions : {
		retry: 5
	}
});

create(axios,maxConcurrent,queueOptions) 扩展现有 axios

扩展项目中现有 axios,保证 axios 版本.

const aec = require('axios-extra/create');
const axios = aec(requeir('axios'), 5, { retry: 5 });

Package Sidebar

Install

npm i axios-extra

Weekly Downloads

32

Version

0.0.8

License

MIT

Unpacked Size

12.7 kB

Total Files

11

Last publish

Collaborators

  • cnwhy