[typescript] 함수의 리턴 타입이 Promise인 경우

TypeScript에서 함수의 리턴 타입이 Promise인 경우에 대해 알아보겠습니다.

Promise 타입

Promise는 비동기 작업을 처리하는 데 사용되는 객체로, 비동기 작업이 완료되면 성공 또는 실패를 나타내는 값을 반환합니다.

function asyncOperation(): Promise<string> {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    if (/* 성공 조건 */) {
      resolve("성공한 결과");
    } else {
      reject(new Error("실패한 이유"));
    }
  });
}

위 예제에서 asyncOperation 함수는 Promise<string>을 반환합니다. 즉, 성공 시 문자열 값, 실패 시 에러를 반환하는 Promise 객체를 반환합니다.

함수의 리턴 타입이 Promise인 경우

함수의 리턴 타입이 Promise인 경우에는 해당 함수가 비동기 작업을 수행하고, 그 결과를 Promise로 감싸서 반환한다는 것을 의미합니다. 이를 TypeScript에서는 다음과 같이 정의할 수 있습니다.

function asyncOperation(): Promise<string> {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    if (/* 성공 조건 */) {
      resolve("성공한 결과");
    } else {
      reject(new Error("실패한 이유"));
    }
  });
}

위 예제에서 asyncOperation 함수는 Promise 객체를 반환하므로, 해당 함수를 호출할 때에도 Promise 객체를 반환하는 것을 예상할 수 있습니다.

결론

TypeScript에서 함수의 리턴 타입이 Promise인 경우, 해당 함수는 비동기 작업을 수행하고 그 결과를 Promise로 감싸서 반환합니다. 이를 통해 비동기 작업을 보다 명확하게 다룰 수 있으며, 코드 가독성을 향상시킬 수 있습니다.

이상으로 TypeScript에서 함수의 리턴 타입이 Promise인 경우에 대해 알아보았습니다.

참고 자료: TypeScript 공식 문서