[typescript] 비동기 작업을 순차적으로 수행하는 방법

보통 JavaScript나 TypeScript에서 비동기 작업을 순차적으로 수행해야 하는 경우가 있습니다. 예를 들어, 여러 API 호출을 연달아 실행하거나, 파일을 차례로 읽어야 하는 경우 등이 있을 수 있죠. 이번 블로그에서는 이러한 상황에서 TypeScript로 비동기 작업을 순차적으로 수행하는 방법에 대해 알아보겠습니다.

1. async/await를 사용한 방법

코드 예시:

async function sequentialAsyncOperation() {
    const result1 = await asyncOperation1();
    const result2 = await asyncOperation2(result1);
    const result3 = await asyncOperation3(result2);
    return result3;
}

위 코드에서 async 키워드를 이용하여 비동기 함수를 정의하고, await 키워드를 통해 각 비동기 작업의 완료를 기다립니다. 이를 통해 비동기 작업을 순차적으로 수행할 수 있습니다.

2. Promise.then()을 이용한 방법

코드 예시:

function sequentialPromiseOperation() {
    return asyncOperation1()
        .then(result1 => asyncOperation2(result1))
        .then(result2 => asyncOperation3(result2));
}

위 코드에서는 Promisethen 메서드를 활용하여 각 비동기 작업을 연결합니다. 각 작업은 이전 작업의 완료 후에 실행되므로, 순차적으로 동작하게 됩니다.

요약

이렇게 두 가지 방법으로 TypeScript에서 비동기 작업을 순차적으로 수행할 수 있습니다. 각 상황에 맞게 적절한 방법을 선택하여 활용하시면 됩니다.

이상으로 TypeScript로 비동기 작업을 순차적으로 수행하는 방법에 대해 알아보았습니다. 감사합니다!

참고 자료