WEB · ASYNC

Promise 병렬 처리 타임라인

여러 Promise를 동시에 시작해도 all과 race는 완료 조건이 다르므로 실패와 첫 응답을 읽는 기준이 달라집니다.

Promise 병렬 처리 타임라인 구조

promise timing
start p1/p2/p3동시에 비동기 작업 시작
Promise.all모두 fulfilled면 배열 반환
fail fast하나 reject면 즉시 reject
Promise.race첫 settle 결과 채택
start p1/p2/p3Promise.allfail fastPromise.race

Promise 병렬 처리 타임라인 기준

점검
all서로 독립인 여러 데이터를 모두 기다릴 때 사용합니다.
race타임아웃 경쟁처럼 첫 결과가 중요할 때 씁니다.
에러all은 한 실패가 전체 실패로 이어집니다.
시작 시점Promise 생성 순간 작업이 이미 시작될 수 있습니다.