[typescript] await for...of 문에서의 에러 처리 방법

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를 감싸 에러를 처리할 수 있으며, 이를 통해 안정적인 비동기 코드를 작성할 수 있습니다.