[JS] Promise 종류

얼음꽃 ㅣ 2024. 11. 20. 11:45

728x90

많은 양을 처리하다보니 Promise를 자주 쓰게 되는데 Promise 메서드도 여러 종류가 있어서 

 

한번 정리를 해야겠다 싶어서 주요 메서드만 정리를 해봅니다.

 

메서드 설명 사용 이유
Promise.resolve Promise 를 즉시 fulfilled 상태로 생성 1. 이미 값을 알고 있는 경우 Promise 객체로 변환
2. 비동기 코드에서 값을 통일된 방식으로 처리
Promise.reject Promise 를 즉시 rejected 상태로 생성 에러를 즉시 반환하고 싶을 때 사용
Promise.all 주어진 Promise 객체들의 배열(iterable)을 병렬로 실행하며, 모든 fulFilled 상태가 될 때까지 대기 (하나라도 reject뜨면 rejected 형태가 됨) 여러 비동기 작업을 병렬로 실행하고, 모든 작업이 완료된 후 결과를 한꺼번에 처리
Promise.allSettled 주어진 Promise 객체들의 배열(iterable)을 병렬로 실행하며, 모든 상태가(fulfilled or   rejected)가 완료될 떄 결과를 반환
(결과는 객체 배열로 반환되며, 각각 status, value, reason 속성을 포함)
실패한 작업이 있어도 나머지 작업의 결과를 모두 확인하고 싶을 때
Promise.race 주어진 Promise 객체들의 배열 중 가장 먼저 완료된 Promise를 반환 여러 비동기 작업 중 가장 빠른 결과를 처리
Promise.any 주어진 Promise 객체들의 배열 중 가장 먼저 fulfilled 상태가 된 Promise를 반환
(다 rejected이면 AggregateError 반환)
여러 작업 중 성공한 결과만 필요할 때
then fulfilled 상태일 때 실행할 콜백과, rejected 상태일 때 실행할 콜백을 설정
체이닝을 통해 다음 단계로 값을 전달 가능
성공 또는 실패에 따라 다른 처리를 수행
catch rejected 상태가 된 경우에 실행할 콜백을 설정 에러를 처리하거나 복구 작업을 수행
finally fulfilled 또는 rejected 상태와 관계없이 항상 실행되는 콜백을 설정
리소스 정리나 로깅 등에 유용
상태와 관계없이 공통적으로 실행해야 할 작업을 처리

 

728x90