Maison > interface Web > js tutoriel > Comment puis-je utiliser « async/await » avec « Array.map » pour gérer les opérations asynchrones ?

Comment puis-je utiliser « async/await » avec « Array.map » pour gérer les opérations asynchrones ?

Barbara Streisand
Libérer: 2024-12-15 17:36:12
original
784 Les gens l'ont consulté

How Can I Use `async/await` with `Array.map` to Handle Asynchronous Operations?

Faire en attente asynchrone Travailler avec Array.map

Array.map est une méthode puissante pour transformer chaque élément d'un tableau. Cependant, son utilisation avec des opérations asynchrones peut présenter des défis.

Dans l'extrait de code fourni, l'erreur survient car la sortie de map est un tableau de promesses, pas une promesse. wait attend une promesse et renvoie la valeur résolue, mais avec un tableau, il renvoie le tableau lui-même.

Pour résoudre ce problème, Promise.all peut être utilisé pour convertir le tableau de promesses en une seule promesse. Promise.all attend que toutes les promesses du tableau soient résolues avant de résoudre la seule promesse externe.

Le code corrigé :

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;
}));
Copier après la connexion

Cette modification garantit que la sortie d'Array.map est convertie en une seule promesse, permettant à wait de résoudre correctement le résultat combiné sous forme d'un tableau de nombres.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal