[JavaScript] Async, Await

roses16·2023년 2월 16일
0

Async와 Await는 Promise 코드를 좀 더 단순하게 작성하는 것을 도와주는 API이다. 📕
기존에 있던 것에 추가하여 사용을 간편하게 해주는 것을 syntactic sugar라고 한다.

  • Async
    함수의 반환값을 Promise 객체로 만들어준다.

    async function getNumber(){
        return 1;
    }					// Promise {<fulfilled>: 1}
    async function getNumber(){
        throw new Error('error');
    }					// Promise {<rejected>:Error: error}
  • Await
    async 내부에서 Promise 객체 앞에 사용되어 promise가 setteled상태가 될때까지 기다린다.

    function delay(time){
      return new Promise (resolve => setTimeout(resolve, time))
    }
    
    async function getRed(){
       delay(1000);
      return '🧡';
    }
    
    async function getYellow(){
       delay(1000);
      return '💛';
    }
    
    async function getColors(){
      const red= await getRed();			// ← await 사용
      const yellow = await getYellow();		// ← await 사용
    
      return `${red} + ${yellow}`
    }
    
    console.log('시작')
    getColors().then(console.log)
    console.log('종료')
    시작
    종료
    🧡 + 💛		// await를 사용하지 않을 경우 [object Promise] + [object Promise] 로 출력된다.

📌 참조

profile
frontend developer 📚

0개의 댓글