给出以下代码:
var arr = [1,2,3,4,5];
var results: number[] = await arr.map(async (item): Promise<number> => {
await callAsynchronousOperation(item);
return item + 1;
});
产生以下错误:
TS2322:类型'Promise <number> []'无法分配给类型'number []'。类型“ Promise <数字>”不可分配给类型“数字”。
我该如何解决?怎样才能让async await
和Array.map
一起工作?
map
,该函数需要同步的函数并希望其起作用。
async
,您就使该函数返回一个承诺。因此,当然,异步映射会返回一系列承诺:)
arr.map()
是同步的,不会返回承诺。