개발 노트

async / await 본문

JavaScript

async / await

알 수 없는 사용자 2023. 9. 21. 16:50
  • ES8(2017) 문법

  • Promise 쉽게 사용가능

  • async를 function 앞에 붙이면 함수가 Promise 역할 가능 (async는 함수 앞에만 붙일 수 있음)

async function 안에서 쓰는 await

  • async function 안에서만 사용가능
  • 프로미스.then( ) 대신 사용가능
async function 더하기() {
    var 프로미스 = new Promise(function(resolve, reject){
        var 힘든연산 = 1 + 1;
        resolve(힘든연산);
    });
    var 결과= await 프로미스; //프로미스 해결까지 기다려달라는 의미
    console.log(결과);	// 2가 출력됨
}

 

  • await은 프로미스 실패시 에러나고 멈춤
    이를 방지하기 위해 try{ }, catch{ }가 있음
async function 더하기(){
   var 프로미스 = new Promise(function(resolve, reject){
      var 힘든연산 = 1 + 1;
      resolve(100);
   })
   try{  //try를 먼저 실행해보고 error가 나면 catch를 실행
      var result = await 프로미스;
      console.log(result);
   }
   catch{
      console.log('프로미스 연산이 실패');
   }
}

'JavaScript' 카테고리의 다른 글

JS 날짜 관련함수 (날짜 더하기, 빼기, 날짜 사이 시간)  (0) 2023.11.08
시간지연함수  (0) 2023.11.08
Promise  (0) 2023.09.21
동기 / 비동기처리와 콜백함수  (0) 2023.09.21
객체 안에서 key를 [ ]로 감싸면  (0) 2023.08.27