- 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 |