[typescript] 타입스크립트에서 비동기 작업을 처리하기 위해 어떤 라이브러리를 사용할 수 있나요?

Promise 기반 비동기 작업 처리

TypeScript에서 비동기 작업을 처리하는 가장 기본적인 방법 중 하나는 Promise를 사용하는 것입니다. Promise는 비동기 작업의 결과를 나타내는 객체로, 성공 또는 실패 시에 각기 다른 처리를 할 수 있습니다.

아래는 Promise를 사용하여 비동기 작업을 처리하는 간단한 예제 코드입니다.

function fetchData(): Promise<string> {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    setTimeout(() => {
      const data = "비동기 작업 완료";
      resolve(data); // 성공 시에는 resolve 호출
    }, 1000);
  });
}

// Promise를 활용한 비동기 작업 처리
fetchData()
  .then((result) => {
    console.log(result); // 성공 시의 처리
  })
  .catch((error) => {
    console.error(error); // 실패 시의 처리
  });

Async/Await 문법 활용

또한 Async/Await 문법을 사용하여 비동기 작업을 보다 간결하고 가독성 있게 처리할 수 있습니다. 이를 활용하면 Promise를 좀 더 쉽게 다룰 수 있습니다.

아래는 Async/Await를 사용하여 동일한 비동기 작업을 처리하는 예제 코드입니다.

async function fetchData(): Promise<string> {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    setTimeout(() => {
      const data = "비동기 작업 완료";
      resolve(data); // 성공 시에는 resolve 호출
    }, 1000);
  });
}

// Async/Await를 활용한 비동기 작업 처리
async function fetchDataAndLog() {
  try {
    const result = await fetchData();
    console.log(result); // 성공 시의 처리
  } catch (error) {
    console.error(error); // 실패 시의 처리
  }
}

fetchDataAndLog();

위의 예제 코드에서 fetchData 함수의 반환 타입으로 Promise를 명시하여 비동기 작업의 결과를 나타내도록 하였고, async 함수와 await 키워드를 사용하여 해당 Promise 객체가 처리될 때까지 기다렸다가 결과를 받아와서 처리할 수 있습니다.

위 방법들을 사용하여 비동기 작업을 처리할 수 있으며, 특별한 라이브러리 없이도 TypeScrit에서 비동기 작업을 효율적으로 다룰 수 있습니다.

참고 문헌: