비동기 함수중 하나로써,
콜백이 올때까지 아무것도 못하는 상황에서 쓰는것이 await
await ( 너의 실행결과를 기다린다 , Async 함수 안에서 사용할 수 있음 = 한 쌍 )
- 비동기적인 동작을 일반 코드와 같이 작성하게 해 줌.
- http 통신등과 같은 비동기적인 경우와 Promise를 then( ) 대신 await 키워드로 받을 수 있다.
- await 문장은 async 함수 안에서 사용 가능
function test(value){
return new Promise((resolve, reject)=>{
resolve('ok');
});
}
async function runTest(){
const result = await test(1);
console.log(result);
}
runTest();
- try, catch를 이용해 예외 처리를 한다.
function test(value) {
return new Promise((resolve, reject)=>{
if(value>=0)
resolve('ok');
else
reject('ng');
});
}
async function runTest() {
try {
const result = await test(-1); // test 함수의 value 값을 -1로 넘긴 결과값을 출력
console.log(result);
} catch {
console.log(error); // reject 될 경우의 값이 넘어옴, -1은 0보다 작기 때문에 reject 출력
}
}
runTest();
'JavaScript' 카테고리의 다른 글
[JavaScript] 클래스와 상속 (0) | 2022.01.19 |
---|---|
[JavaScript] 동기 , 비동기 (0) | 2022.01.19 |
[JavaScript] Promise (0) | 2022.01.19 |
[JavaScript] 함수 선언식과 표현식 (0) | 2022.01.19 |