[typescript] 다중 타입을 활용하여 콜백 함수를 정의하는 방법을 알려주세요.
보통 다중 타입을 활용하여 콜백 함수를 정의할 때는 TypeScript의 유니온 타입(Union Type)을 사용합니다. 이를 통해 콜백 함수가 받을 수 있는 여러 타입을 정의하고, 해당 타입에 맞는 동작을 구현할 수 있습니다.
다음은 TypeScript에서 다중 타입을 활용하여 콜백 함수를 정의하는 간단한 예시입니다.
type SuccessCallback = (data: string) => void;
type ErrorCallback = (error: Error) => void;
function fetchData(onSuccess: SuccessCallback, onError: ErrorCallback) {
// 비동기 작업 수행
if (/* 성공 시 조건 */) {
onSuccess('데이터');
} else {
onError(new Error('데이터를 불러오지 못했습니다.'));
}
}
// 사용 예시
fetchData(
(data) => {
console.log('데이터를 성공적으로 불러왔습니다:', data);
},
(error) => {
console.error('데이터를 불러오는 중 에러가 발생했습니다:', error.message);
}
);
위 예시에서는 SuccessCallback
과 ErrorCallback
이라는 두 가지 다중 타입을 정의하여 fetchData
함수에서 사용하고 있습니다. fetchData
함수는 성공 시 데이터를 전달하는 onSuccess
콜백과, 에러 시 에러를 전달하는 onError
콜백을 받아와서 사용합니다.
이를 통해 TypeScript에서 다중 타입을 활용하여 콜백 함수를 정의하는 방법을 간단히 알아보았습니다. 더 많은 기능과 사용 방법에 대해서는 TypeScript 공식 문서를 참고하시기 바랍니다.