Promise combinator

Promise 병렬 처리 타임라인

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

도구완료 기준실패 기준사용할 때
Promise.all모두 fulfilled하나라도 rejected면 rejected전체 결과가 모두 필요
Promise.allSettled모두 settled실패도 결과로 담음성공/실패를 각각 보여줌
Promise.race가장 먼저 settled첫 실패도 결과가 됨timeout 경쟁
Promise.any가장 먼저 fulfilled모두 실패해야 rejected대체 서버 중 빠른 성공
Parallel startPromise를 먼저 만들어 동시에 실행순차 await와 구분불필요하게 직렬 처리하지 않음

Promise 병렬 처리는 동시에 시작하는 것과 어떤 조건으로 끝났다고 볼 것인지를 나누어 읽어야 한다.