일반
async / await
알 수 없는 사용자
2023. 9. 21. 16:50
SMALL
- 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('프로미스 연산이 실패');
}
}
LIST