자바 스크립트에서 값 비싼 계산을 위해 promise all ()을 사용합니까? [복제]

Nov 26 2020

값 비싼 계산 속도를 높이기 위해 promise all ()을 사용할 수 있습니까? 예를 들면 :

// 비싼 계산

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하면 모든 콜백이 대기열에 추가되고 단일 스레드에서 차례로 실행됩니다.