Gegeben den folgenden Code:
var arr = [1,2,3,4,5];
var results: number[] = await arr.map(async (item): Promise<number> => {
await callAsynchronousOperation(item);
return item + 1;
});
Dies führt zu folgendem Fehler:
TS2322: Der Typ 'Versprechen <Nummer> []' kann nicht dem Typ 'Nummer []' zugewiesen werden. Der Typ 'Versprechen <Nummer> kann nicht dem Typ' Nummer 'zugewiesen werden.
Wie kann ich es reparieren? Wie kann ich machen async await
und Array.map
zusammen arbeiten?
map
, die eine synchrone erwartet und erwartet, dass sie funktioniert.
async
, diese Funktion ein Versprechen zurückgibt. Natürlich gibt eine Karte von Async eine Reihe von Versprechungen zurück :)
arr.map()
ist synchron und gibt kein Versprechen zurück.