Maison >interface Web >js tutoriel >Comment puis-je utiliser « Array.map » et « async/await » ensemble pour traiter correctement les promesses ?
Array.map et Async/Await : résolution de la compatibilité avec la promesse
Alors que l'extrait de code ci-dessous vise à utiliser Array.map et async/await , cela déclenche une erreur :
var arr = [1,2,3,4,5]; var results: number[] = await arr.map(async (item): Promise<number> => { await callAsynchronousOperation(item); return item + 1; });
L'erreur provenait de la tentative d'attente d'un un ensemble de promesses plutôt qu’une seule promesse. La solution rapide, cependant, consiste à utiliser Promise.all pour transformer le tableau de promesses en une promesse solitaire avant d'attendre sa résolution.
var arr = [1, 2, 3, 4, 5]; var results: number[] = await Promise.all(arr.map(async (item): Promise<number> => { await callAsynchronousOperation(item); return item + 1; }));
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!