Enfin async
/await
seront pris en charge dans tous les principaux navigateurs bientôt sauf IE.
Ainsi, nous pouvons maintenant commencer à écrire un code plus lisible avec async
/await
mais il y a un hic. Beaucoup de gens utilisent async attendent comme ceci:
const userResponse = await fetchUserAsync();
const postsResponse = await fetchPostsAsync();
Bien que ce code soit lisible, il a un problème, il exécute les fonctions de la série, de ne pas démarrer l'extraction de messages jusqu'à ce que l'extraction de l'utilisateur est terminé. La solutions est simple, nous avons besoin de récupérer les ressources en parallèle.
Donc, ce que je veux faire, c'est (en pseudo-langage):
fn task() {
result-1 = doAsync();
result-2 = doAsync();
result-n = doLongAsync();
// handle results together
combinedResult = handleResults(result-1, result-2);
lastResult = handleLastResult(result-n);
}