function delay(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
async function helloAsync() {
await delay(3000);
return "hello async";
}
async function main() {
const res = await helloAsync(); // 여기
console.log(res);
}
main();
여기라 표시한 부분에 await를 쓰지 않고 실행하면 Promise{<pending>} 이라고 콘솔에 찍히게 된다 그 이유는 비동기의 코드가 끝나지않고 콘솔에 출력했기 때문.
동기적으로 3초 후에 출력하기 위해 await를 걸어야 함
'Javascript' 카테고리의 다른 글
[JavaScript] API 호출하기 (0) | 2022.04.05 |
---|---|
[JavaScript] Promise - 콜백 지옥에서 탈출하기 (0) | 2022.04.05 |
[JavaScript] 동기 & 비동기 (0) | 2022.04.05 |
[JavaScript] Spread 연산자 (0) | 2022.04.05 |
[JavaScript] 비구조화 할당 (0) | 2022.04.05 |