Skip to content

타입스크립트와 비동기 처리

1. async operations

  • 타입스크립트에서 async 함수는 Promise를 반환
  • await 키워드를 사용하여 비동기 작업의 완료를 대기
  • async 함수의 반환 타입을 Promise<T>로 지정하여 비동기 작업의 결과 타입을 명확하게 한다.

ts
const fetchData = (): Promise<string> => {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    if (조건) {
      resolve("data fetch complete");
    } else {
      reject("Something went wrong");
    }
  });
};

async function main() {
  const data = await fetchData();
}

main();

비동기 프로그래밍

동시에 실행되지 않는 작업들을 좀 더 효율적으로 처리하는 방식 백그라운드에서 특정 작업을 실행하는 흐름이다.

ts
const sync = () => {
  console.log("동기 작업 완료");
};

const asyncFn = () => {
  return new Promise((resolve) => {
    resovle("비동기 작업 완료");
  });
};

function main() {
  sync();
  asyncFn().then((value) => console.log(value));
  sync();
  sync();
}

main;

// 동기 작업 완료
// 동기 작업 완료
// 동기 작업 완료
// 비동기 작업 완료

ts
const fetchData = (): Promise<string> => {
  return new Promise((resolve, reject) => {
    // 비동기 로직 수행

    const success = true;
    if (success) {
      resolve("data fetch complete");
    } else {
    }
  });
};