javascript - 包含 Promise 的 forEach 循环的 Promise
问题描述
我已经嵌套了 forEach 循环,其中一个循环包含另一个 await 调用。我希望我的函数 doSomething 仅在嵌套循环完成后执行。到目前为止, doSomething() 首先被执行。
entity.forEach(function (dataItem) {
userParams.forEach(async function (userParamItem) {
const Marks = await _fetchMark(req, dataItem.MKTUNITID);
//do some manipulation to Marks
}
}
});
});
做一点事();
解决方案
forEach在这种情况下可能有点棘手,您可以简单地使用for循环,因为它们不会跳转到下一个项目,直到所有承诺都没有解决
for(i =0; i < entity.length; i++)
{
let dataItem = entity[i]
for(j =0; j < userParams.length; j++)
{
let userParamItem = userParams[i]
const Marks = await _fetchMark(req, dataItem.MKTUNITID);
//do some manipulation to Marks
}
}
推荐阅读
- flutter - 仅当您从异步函数获得响应时,您将如何执行代码?
- javascript - 休息运算符省略属性
- ios - 在视图之间导航时,iOS 14 大标题无法正常工作
- sql - BigQuery:如果存在则选择列,否则将其设为 NULL?
- amazon-s3 - CkRest.AddHeader 函数不使用 Chilkat C++ 添加标头(“Content-MD5”标头使用 fullRequestBinary PUT)
- kotlin - Ktor 中抛出的奇怪异常
- android - 无法将 TextBlock 投射到元素 - Android.gms.Vision
- python - 对数据透视表列应用总和
- visual-studio-code - Microsoft Visual Studio 开发人员命令提示符
- cron - Cronjob 停止执行