Учитывая следующий код:
var arr = [1,2,3,4,5];
var results: number[] = await arr.map(async (item): Promise<number> => {
await callAsynchronousOperation(item);
return item + 1;
});
которая выдает следующую ошибку:
TS2322: Тип «Обещание <номер> []» нельзя назначить типу «номер []». Тип «Обещание <номер> нельзя назначить типу« номер ».
Как я могу это исправить? Как я могу сделать async await
и Array.map
работать вместе?
map
, которая ожидает синхронную операцию и ожидает, что она будет работать.
async
, вы заставляете эту функцию возвращать обещание. Поэтому, конечно, карта асинхронности возвращает массив обещаний :)
arr.map()
является синхронным и не возвращает обещание.