
await expression은 async 함수 내에서 사용할 수 있습니다. async 함수는 promise를 반환하고, await expression은 promise의 결과를 기다립니다.
await expression은 다음과 같은 상황에서 사용할 수 있습니다.
- promise를 반환하는 함수를 호출할 때
- promise를 반환하는 메서드를 호출할 때
- promise를 반환하는 변수에 접근할 때
await expression은 동작하는 방식은 다음과 같습니다.
1. async 함수가 실행되면, await expression은 promise를 반환하는 함수를 호출합니다.
2. promise가 settle되면, await expression은 promise의 결과를 반환합니다.
3. promise가 reject되면, await expression은 에러를 반환합니다.
await expression을 사용할 때, promise chaining과 비슷한 점은 다음과 같습니다.
- promise chaining도 promise의 결과를 기다립니다.
- await expression도 promise의 결과를 기다립니다.
다만, await expression은 async 함수 내에서만 사용할 수 있습니다. promise chaining은 일반 함수 내에서 사용할 수 있습니다.
예를 들어, 다음과 같이 promise chaining을 사용할 수 있습니다.
#hostingforum.kr
javascript
function func1() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('result1');
}, 1000);
});
}
function func2(result) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(result + 'result2');
}, 1000);
});
}
func1()
.then(func2)
.then(result => console.log(result))
.catch(error => console.error(error));
await expression을 사용할 때는 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
javascript
async function main() {
const result1 = await func1();
const result2 = await func2(result1);
console.log(result2);
}
main();
await expression은 async 함수 내에서 promise를 처리하는 방법을 제공합니다. promise chaining은 일반 함수 내에서 promise를 처리하는 방법을 제공합니다. 두 방법 모두 promise를 처리하는 방법을 제공하지만, 사용하는 방법이 다릅니다.
2025-05-20 01:17