Javascript/Node.js

async/await

Frankie 2021. 9. 13. 16:44

promise 객체를 좀 더 쉽게 다룰 수 있게 고안된 문법. 

 

async 기본 예제

async function greet() {
    return 'hello';
}

greet().then(console.log);

async 함수에서는 promise가 아닌 값을 리턴하더라도 resolved promise가 반환된다.

 

await 기본 예제

function greet() {
    return new Promise(function(resolve){
        setTimeout(function() {
            resolve('hello');
        }, 1000);
    });
}

(async function() {
    var result = await greet(); //resolved 될 때까지 대기
    console.log(result);
})();

1초 후 hello가 출력된다.

 

promise.then을 사용하는 것보다 훨씬 간결하여 쓰기도 편하고 가독성도 뛰어납니다. async로 선언된 함수 안에서만 사용이 가능하고 await 키워드를 사용하더라도 그 작업이 처리되는 동안 다른 모든 프로세스가 중단되는 것은 아니며 엔진이 다른 일을 할 수 있으므로 자원이 비효율적으로 운영되지 않는다.

'Javascript > Node.js' 카테고리의 다른 글

메서드와 this  (0) 2021.09.27
ESLint  (0) 2021.09.13
프라미스(promise)  (0) 2021.09.13
[Node.js] 3. 코드 스타일  (0) 2021.09.13
[Node.js] 2. 에러 처리 방법  (0) 2021.09.10