javascriptでの高価な計算にはpromiseall()を使用しますか?[複製]

Nov 26 2020

高価な計算を高速化するためにpromiseall()を使用するポイントはありますか?例えば:

//高価な計算

const data = [1, 2, 3];

const f = (x) => {
  return x*x; // or a more complex formula
}

// 約束はできません

const f_data = data.map(f);

//約束付き

const f_data = Promise.all(data.map((e) => Promise((e) => f(e))).then(res => res).catch(...);

実行速度に実際の違いはありますか?

回答

GuerricP Nov 26 2020 at 04:01

いいえ、計算を高速化したい場合は、マルチスレッドを活用するためにワーカーを使用する必要があります。

を使用するとPromise.all、すべてのコールバックがキューに入れられ、単一のスレッドで次々に実行されます。