본문 바로가기
카테고리 없음

[JS] Promise 종류

by 얼음꽃 2024. 11. 20.
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