Promise는 비동기 작업의 미래 결과 또는 실패를 표현하는 JavaScript 객체이다. 대기, 이행, 거부 상태를 구분한다.
원리
then과 catch로 후속 처리를 연결하면 새 Promise가 만들어진다. 처리기의 반환값이나 발생한 예외가 다음 Promise의 결과에 영향을 준다.
예시
서버 응답을 받은 뒤 내용을 변환하고 실패 시 오류 메시지를 보여 주는 흐름을 연결할 수 있다. 후속 작업도 Promise를 반환하면 완료 시점을 이어 붙일 수 있다.
주의할 점
Promise는 작업 취소나 별도 스레드 실행을 자동으로 제공하지 않는다. 연결에서 반환을 빠뜨리거나 거부를 처리하지 않으면 완료 순서와 오류 전달이 예상과 달라진다.