JavaScript
Promise, Async & Await
fromslow
2020. 8. 1. 22:15
비동기를 해결하려면 callback 지옥이 생기게 되어 가독성이 저하되고 예외처리에 불편함이 생기게 된다.
이러한 것들을 보완하기 위해 나온 것이 promise, async & await 이다.
Promise
자바스크립트 비동기 처리에 사용되는 객체
promise 인스턴스 안에 비동기 처리될 대상을 넣어준다.
promise는 다음과 같이 작성한다.
resolve는 약속을 지켰을 때 호출, (잘 실행되었다는 뜻)
reject는 약속을 지키지 못했을 때 호출한다.
.then은 코드가 잘 실행되었다면 그 다음에 실행할 코드를 정의한 것이다.
.catch는 코드가 실행되지 못했을 경우 그 다음에 실행할 코드를 정의한 것이다.
async await
비동기 함수를 동기 함수처럼 읽고 쓸 때 사용한다.
외부 정보를 가지고 와서 가공할 때 많이 사용한다.
이 과정에서 오류가 발생하여 예외처리해야 할 때도 함께 쓰이므로 try, catch, finally와도 같이 활용한다.
async : 비동기 처리를 한다고 선언
await : 기다려야 되는 부분