자바 스크립트에서 값 비싼 계산을 위해 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
하면 모든 콜백이 대기열에 추가되고 단일 스레드에서 차례로 실행됩니다.