javascript - 如何在 for 循环中进行异步/等待?
问题描述
我在 for 循环中使用 async await ,如下所示。
for (let i = 0; i < result.length; i += 1) {
try{
const client = await axios.get(
`${process.env.user}/client/${result[i].id}`
);
} catch(error){
console.log(error)
}
if (client.data.success === true) {
result[i].Name = rider.data.client.Name;
result[i].PhoneNumber = rider.data.client.Number;
}
}
但我想使用 'new Promise' 和 'promiss.all' 来实现异步。
但我不知道如何正确处理错误。
你能为此推荐一些建议吗?感谢您阅读。
解决方案
这就是你使用async/await
+的方式Promise.all
:
const myResult = await Promise.all(result.map(({ id }) => {
return axios.get(`${process.env.user}/client/${id}`);
}));
// deal with the result of those requests
const parsed = myResult.map(data => /* your code here */);
推荐阅读
- android - 如何跟踪 flowable 中的发射次数?
- javascript - 如何在顶级的javascript中等待异步函数?
- android - 每种语言的Android不同字体
- c++ - 通过 C++ 中的迭代器改变集合中的集合
- javascript - 与声明常规类相比,声明功能类有什么好处
- python - 尝试从 selenium 使用 webdriver 时出现问题
- python - 字母大写并非在每种情况下都有效
- vbscript - 使用 VBScript 重命名文件,启动文件,等待,然后再次重命名
- azure - 如何使用 Azure B2C 保护 Azure API 管理 API
- keras - keras 理解 LSTM 层的参数