Utilisez promise all () pour des calculs coûteux en javascript? [dupliquer]
Nov 26 2020
Y a-t-il un intérêt à utiliser promise all () pour accélérer un calcul coûteux? Par exemple:
// Calcul coûteux
const data = [1, 2, 3];
const f = (x) => {
return x*x; // or a more complex formula
}
// Pas de promesses
const f_data = data.map(f);
// Avec des promesses
const f_data = Promise.all(data.map((e) => Promise((e) => f(e))).then(res => res).catch(...);
Y aura-t-il une différence réelle dans la vitesse d'exécution?
Réponses
GuerricP Nov 26 2020 at 04:01
Non, si vous voulez accélérer les calculs, vous devez utiliser des nœuds de calcul pour tirer parti du multithreading.
Si vous utilisez Promise.all
, tous les rappels seront mis en file d'attente et s'exécuteront dans un seul thread, l'un après l'autre.