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 : 기다려야 되는 부분