> For the complete documentation index, see [llms.txt](https://april.gitbook.io/learning-js/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://april.gitbook.io/learning-js/chapter-14./14.3.md).

# 14.3 프라미스

* 콜백의 단점을 해결하기 위해 만들었음
* 콜백을 예측 가능한 패턴으로 사용할 수 있게 함
* 프라미스 없이 콜백만 사용했을 때 나타날 수 있는 현상이나 찾기 힘든 버그를 상당수 해결함

### 프라미스의 기본 개념

* 프라미스 기반 비동기적 함수를 호출하면 그 함수는 Promise 인스턴스를 반환
* 프라미스는 성공 (fulfilled) / 실패 (rejected) 단 두가지 뿐 => **성공 혹은 실패 둘 중 하나만 일어남 (단 한번)**
* 프라미스가 성공되거나 실패하면 그 프라미스를 결정됐다(settled)고 말함

### 프라미스의 장점

* 객체이므로 어디든 전달할 수 있음
* 비동기적 처리를 여기서 하지 않고 다른 함수에서 처리하도록 만들 수 있음
