我将如何在 for 循环中运行 Axios,每个循环都有相应的 .then()
函数。然后for循环结束后,运行另一个函数。
例子:
const array = ['asdf', 'foo', 'bar'];
let users = [];
for (i = 0; i < array.length; i++) {
axios.get('/user/' + array[i].id).then(response => {
// do something with response
users.push(response);
});
}
console.log(users);
原文由 user1661677 发布,翻译遵循 CC BY-SA 4.0 许可协议
Promise本身的
.then()
方法返回一个Promise;因此您可以收集这些并使用Promise.all()
等待所有这些。请注意,即使您在
async
函数中执行此操作,您也不希望await
在 for 循环中,因为这样每个请求都会等待前一个请求甚至在它开始之前就完成了,大概你想并行运行这些请求。根据您的用例,简洁的 async / await 函数可能如下所示: