[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 공식 문서