如何确保异步函数在TypeScript中重复工作[重复]

问题描述 投票:0回答:1

此问题已经在这里有了答案:

给出

const list = [1,2,3,4,5,6,7];
let results = [];

和功能

powerNumPlusOne = async(num) : Promise<any> => {
     return powerNum*powerNum + 1;
} 

如何确保此代码有效

list.forEach(async function(i){
   results.push( await this.powerNumPlusOne(i));
})

并且results应该依次为[2,5,10,17,26,37,50]吗?

javascript typescript async-await
1个回答
-1
投票

您可以使用Promise.all()。它接受许多动作,并在全部完成后以完全相同的顺序返回它们。

const list = [1,2,3,4,5,6,7];
let actions = list.map(powerNumPlusOne);
let results = await Promise.all(actions);
enter code here
© www.soinside.com 2019 - 2024. All rights reserved.