비동기 처리 순서가 헷갈려서요. async 함수를 호출했는데 await 뒤에 있는 줄이 바깥 코드보다 나중에 실행돼요.
async function order() {
console.log("주문 접수");
await Promise.resolve();
console.log("결제 완료");
}
console.log("시작");
order();
console.log("다음 손님");
시작
주문 접수
다음 손님
결제 완료
"결제 완료"가 왜 "다음 손님" 다음에 나오나요? await가 함수를 멈춘다는 게 정확히 무슨 뜻이고, 왜 나머지 코드로 제어가 넘어갔다가 돌아오는 건가요?