¿Usar promise all () para cálculos costosos en javascript? [duplicar]
Nov 26 2020
¿Tiene algún sentido utilizar la promesa all () para acelerar un cálculo costoso? Por ejemplo:
// Cálculo caro
const data = [1, 2, 3];
const f = (x) => {
return x*x; // or a more complex formula
}
// Sin promesas
const f_data = data.map(f);
// Con promesas
const f_data = Promise.all(data.map((e) => Promise((e) => f(e))).then(res => res).catch(...);
¿Habrá alguna diferencia real en la velocidad de ejecución?
Respuestas
GuerricP Nov 26 2020 at 04:01
No, si desea acelerar los cálculos, debe utilizar trabajadores para aprovechar el subproceso múltiple.
Si lo usa Promise.all, todas las devoluciones de llamada se pondrán en cola y se ejecutarán en un solo hilo, uno tras otro.