긍정적인 사고와 행동으로 선한 영향력을 줄 수 있도록

JavaScript

[JavaScript] Async와 await

리거니 2022. 1. 19. 15:26

비동기 함수중 하나로써,

콜백이 올때까지 아무것도 못하는 상황에서 쓰는것이 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