Dado el siguiente código:
var arr = [1,2,3,4,5];
var results: number[] = await arr.map(async (item): Promise<number> => {
await callAsynchronousOperation(item);
return item + 1;
});
que produce el siguiente error:
TS2322: El tipo 'Promesa <número> []' no se puede asignar al tipo 'número []'. El tipo 'Promesa <número> no se puede asignar al tipo' número '.
¿Cómo puedo arreglarlo? ¿Cómo puedo hacer async awaity Array.maptrabajar juntos?
map, que espera una sincrónica, y espera que funcione.
async, está haciendo que esa función devuelva una promesa. Entonces, por supuesto, un mapa asíncrono devuelve una serie de promesas :)
arr.map()es sincrónico y no devuelve una promesa.