[typescript] 비동기 작업의 결과를 다른 비동기 작업에 전달하는 방법

TypeScript에서 비동기 작업의 결과를 다른 비동기 작업에 전달하는 경우에 대해 알아보겠습니다.

1. Callback 함수 사용

주로 Node.js와 함께 사용되는 콜백 함수는 비동기 작업의 결과를 전달하는 데에 많이 활용됩니다.

function fetchData(callback: (data: any) => void) {
  // 비동기 작업 처리
  // ...
  // 작업이 완료되면 콜백 함수 호출
  callback(data);
}

fetchData((data) => {
  // 다른 비동기 작업 처리
});

2. Promise와 async/await 활용

ES6부터 지원되는 Promise와 async/await을 사용하여 더 간결하고 가독성이 좋은 코드를 작성할 수 있습니다.

function fetchData(): Promise<any> {
  return new Promise((resolve) => {
    // 비동기 작업 처리
    // ...
    // 작업이 완료되면 resolve 호출
    resolve(data);
  });
}

async function processData() {
  const data = await fetchData();
  // 다른 비동기 작업 처리
}

3. RxJS 활용

RxJS를 사용하여 Observable을 통해 비동기 작업의 결과를 다른 비동기 작업으로 전달할 수도 있습니다.

import { Observable } from 'rxjs';

function fetchData(): Observable<any> {
  // 비동기 작업 처리
  // ...
  // Observable 반환
  return new Observable((observer) => {
    // 작업이 완료되면 observer.next 호출
    observer.next(data);
    observer.complete();
  });
}

fetchData().subscribe((data) => {
  // 다른 비동기 작업 처리
});

위의 방법들을 활용하여 TypeScript에서 비동기 작업의 결과를 다른 비동기 작업으로 전달할 수 있습니다.

더 많은 자세한 내용은 아래 링크를 참고하세요.