
async function은 비동기 처리를 위해 사용하는 함수입니다. 비동기 처리란 특정 작업이 끝날 때까지 기다리지 않고 다른 작업을 수행하는 것을 의미합니다. async function은 Promise를 반환하거나 await 키워드를 사용하여 다른 함수의 실행을 기다릴 수 있습니다.
async function은 다음 상황에서 사용하는 것이 좋습니다:
- 네트워크 요청이나 API 호출과 같은 시간이 오래 걸리는 작업을 처리할 때
- 데이터베이스 연동과 같은 시간이 오래 걸리는 작업을 처리할 때
- 다른 함수의 실행을 기다릴 때
await 키워드는 async function 내부에서 사용하여 다른 함수의 실행을 기다릴 수 있습니다. await 키워드는 async function의 실행을 멈추게 하는 것은 아니지만, 해당 함수의 실행이 끝날 때까지 기다리게 합니다. await 키워드는 Promise를 반환하는 함수의 실행을 기다리게 하며, 함수의 실행이 끝나면 await 키워드 다음 코드를 실행합니다.
예를 들어, 다음 코드는 async function 내부에서 await 키워드를 사용하여 다른 함수의 실행을 기다립니다:
#hostingforum.kr
javascript
async function myFunc() {
const data = await fetchData(); // fetchData 함수의 실행을 기다립니다
console.log(data);
}
async function fetchData() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('데이터');
}, 2000);
});
}
위 코드는 fetchData 함수의 실행을 기다린 후, fetchData 함수가 반환한 데이터를 console.log 함수에 전달합니다. await 키워드는 fetchData 함수의 실행을 멈추게 하지 않습니다. 대신, fetchData 함수의 실행이 끝날 때까지 기다립니다.
2025-03-14 07:34