promise는 자바스크립트에서 비동기를 간편하게 처리해주는 객체이다
비동기처리는 '특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 것을 말한다
프로미스는 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용된다,
즉, 일반적으로 웹 애플리케이션을 구현할 때 서버에서 데이터를 요청하고 받아오기 위해 API를 사용하는데, API가 실행되면 서버에다가 데이터 보내달라는 요청을 보내고, 여기서 데이터를 받아오기도 전에 마치 데이터를 다 받아온 것 마냥 화면에 데이터를 표시하려고 하면 오류가 발생하거나 빈 화면이 뜬다.
이같은 문제를 해결하기 위해 프로미스를 사용한다!
프로미스는 pending, fullfilled, rejected 3가지 상태(states)가 존재하며, 이행을 할 때 resolve()를 실행하면 이행상태가 된다!
이행 상태가 되면 then을 이용하여 처리 결과 값을 받을 수 있고
실패는 reject()로 실행하여 실패상태가 된다!