[typescript] 타입스크립트에서의 비동기 작업 예약 방법

타입스크립트는 JavaScript의 정적 타입을 지원하는 언어로, 비동기 작업을 효율적으로 다루기 위한 다양한 방법을 제공합니다. 이 글에서는 타입스크립트에서 비동기 작업을 예약하는 방법에 대해 알아보겠습니다.

콜백 함수 활용

가장 기본적인 비동기 작업 예약 방법은 콜백 함수를 활용하는 것입니다. 예를 들어, 다음과 같이 setTimeout 함수를 사용하여 비동기적으로 코드를 예약할 수 있습니다.

setTimeout(() => {
  console.log("비동기 작업 완료");
}, 1000);

이 방법은 간단하지만, 콜백 지옥과 같은 문제가 발생할 수 있으므로 보다 복잡한 비동기 작업을 다룰 때에는 다른 방법을 고려해야 합니다.

Promise 활용

ES6부터 도입된 Promise는 비동기 작업을 보다 간결하게 다룰 수 있는 방법을 제공합니다. 타입스크립트에서는 Promise를 다음과 같이 활용할 수 있습니다.

function delay(ms: number): Promise<string> {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve("비동기 작업 완료");
    }, ms);
  });
}

delay(1000).then((result) => {
  console.log(result);
});

이 방법을 사용하면 콜백 함수를 연속적으로 사용하는 것보다 코드가 더 명확해지며, 비동기 작업의 연쇄를 보다 쉽게 다룰 수 있습니다.

async/await 활용

async/await는 Promise를 보다 간결하고 동기적으로 다룰 수 있는 문법을 제공합니다. 타입스크립트에서는 async/await를 다음과 같이 활용할 수 있습니다.

async function doAsyncTask() {
  let result = await delay(1000);
  console.log(result);
}

doAsyncTask();

async 함수 내부에서는 await 키워드를 통해 Promise가 처리될 때까지 기다리며, 작업을 동기적으로 처리할 수 있습니다.

결론

타입스크립트에서는 콜백 함수, Promise, async/await 등을 활용하여 비동기 작업을 예약하고 다룰 수 있습니다. 각각의 방법은 상황에 따라 적합한 사용 방식이 있으므로, 개발하고자 하는 기능에 맞게 적절한 방법을 선택하여 활용해야 합니다.

참고 문헌: 타입스크립트 핸드북 - 비동기 작업