如果一个axios请求在一个循环里,我们希望这个axios顺序执行,可以使用async和await关键字实现。
下面代码可以直接套用,for循环中希望实现times次顺序执行post函数中的请求。
function post(config) {
return axios(config)
.then(function (response) {
console.log("请求成功");
//your code
})
.catch(function (error) {
//your code
});
}
async function main(times, config) {
for (var i = 1; i <= times; i++) {
console.log("执行次数",i);
await post(config);
}
}
以循环三次为例,正常的并行请求结果:
执行次数 1
执行次数 2
执行次数 3
请求成功
请求成功
请求成功
顺序执行的结果:
执行次数 1
请求成功
执行次数 2
请求成功
执行次数 3
请求成功