async await

김용희·2022년 4월 13일
0

  • Promise - 비동기식 동작 코드의 결과값을 담고 있는 객체
    함수실행부분에서 실행할 함수의 정의 부분
    - 프로미스 객체 안에는 콜백함수 들어감 콜백함수의 첫번째 인자가 실행되어야만
    동기적으로 다음 줄의 코드 실행가능

  • await - async 와 await 키워드는 프로미스를 활용해서 좀 더 간편하게 비동기식 동작 코드를 작성할 수 있게 해준다.
    await 키워드를 사용할 때는 항상 async 펑션 내부에서 사용해야 하고 그렇지 않으면 syntax error를 일으킨다.
    비동기함수를 동기적으로 실행시킬 함수의 실행부분 인데
    await은 async 함수 정의 부분안에서만 쓸수있다.
    promice 비동기함수를 await 을 통해 동기적으로 작동하게 한다
    ( 반드시 그 작업이 끝나야 다음줄로 넘어감)

  • 콜백 - 함수안에 인자를 함수로 받는것 보통 비동기떄 리턴값 받기위해 사용

await 뒤에 Promise가 있을때 첫번쨰 인자인 resolve가
실행 되야만 콘솔 B가 출력된다
만약 resolve 함수가 실행되지 않는다면
await은 동기적 실행부분이므로 저 await아래 부분은
넘어갈 수 없기 때문에 콘솔이 찍히지 않는다.

Promise의 콜백함수 첫번째 인자부분의 resolve 안에 있는
인자값(123)이 box에 저장된다

resolve가 실행되기 전 상태. (Pending) 상태
resolve가 실행된 상태는 (Fulfilled) 상태
resolve가 실행 실패한 상태는 (Rejected) 상태

profile
He threw his knapsack over the brick wall

0개의 댓글