TypeScript를 사용하여 JavaScript 비동기 코드를 작성할 때, for...of
루프를 사용하여 반복 작업을 수행할 수 있습니다. 그러나 이때 발생하는 오류를 처리하는 방법을 알아봅니다.
await for…of 루프
for...of
문을 사용하여 Promise 배열 또는 이터러블 객체를 반복할 수 있습니다. 예를 들어, 배열에 저장된 각 Promise를 순차적으로 해결하려면 await
키워드를 사용하여 각 Promise를 처리할 수 있습니다.
const promises = [promise1, promise2, promise3];
for await (const promise of promises) {
// 비동기 작업 처리
}
위의 코드에서 for await...of
루프는 promises
배열에 저장된 각 Promise를 순차적으로 처리합니다.
에러 처리
만약 promise2
가 거부되었을 때, 루프는 중지됩니다. 이 경우, 해당 에러를 처리하고 나머지 Promise를 계속 처리해야 합니다. 이를 위해 try...catch
문을 사용하여 각 Promise의 처리를 감싸고, 에러를 처리할 수 있습니다.
const promises = [promise1, promise2, promise3];
for await (const promise of promises) {
try {
// 비동기 작업 처리
} catch (error) {
// 에러 처리
}
}
위의 코드에서 try...catch
문을 사용하여 각 Promise의 처리를 감싸고, 해당 Promise에서 발생한 에러를 적절하게 처리할 수 있습니다.
이러한 방법으로 TypeScript에서 await for...of
루프에서 발생하는 에러를 처리할 수 있습니다.
결론
TypeScript에서 await for...of
문을 사용하여 Promise 배열이나 이터러블 객체를 처리할 때, 각 Promise에서 발생하는 에러를 적절하게 처리하는 것이 중요합니다. try...catch
문을 사용하여 각 Promise를 감싸 에러를 처리할 수 있으며, 이를 통해 안정적인 비동기 코드를 작성할 수 있습니다.