dissectors
我得到的输出如下所示,
它应该给出这样的输出,
答案 0 :(得分:0)
使用.map(async (e) => {...})
时,所有功能都同时开始执行。 await Promise.all(arr.map(async (e) => {...}))
等待所有 完成,但是仍然是并行的。
您要使它们顺序排列。您可以使用for循环:
for (let info of obj) {
console.log('info', JSON.stringify(info));
for (let index = 0 ; index < info.Address.length; index++) {
let items = info.Address[index];
console.log('ParentItems IsParentLossCapability',);
let pr = await firstFunction();
console.log('promise resolved: ' + pr)
console.log('next step');
}
console.log('UpdatedInfo', JSON.stringify(obj));
}
或使用异步缩减:
await obj.reduce(async (memo, info) => {
await memo;
console.log('info', JSON.stringify(info));
await info.Address.reduce(async (memo2, items, index) => {
await memo2;
console.log('ParentItems IsParentLossCapability',);
let pr = await firstFunction();
console.log('promise resolved: ' + pr)
console.log('next step');
}), Promise.resolve());
console.log('UpdatedInfo', JSON.stringify(obj));
}, Promise.resolve());