상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
파산을 둘러싼 법적 절차의 복잡함
채권추심 시 피해야 할 행동 5가지
분할상환으로 변화하는 소비 패턴
분할상환 계산시 주의할 점
교통사고 기사를 통해 보는 현실
연체 대출, 대체로 어떤 조건일까?
신용등급을 높이는 재무 관리의 중요성
신용등급을 위한 금융 상품 추천
지급명령의 법적 효력은 얼마나 강한가?
담보 대출과 재정 리스크 관리
민사소송과 관련된 최신 판례 연구
신용불량자 위한 재정 상담 서비스 안내
Previous
Next
수정하기 - 타입스크립트에서 비동기 함수의 타입은 어떻게 정의하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
타입스크립트에서 비동기 함수의 타입을 정의하는 것은 비동기 프로그래밍을 다루는 데 있어 중요한 부분입니다. 비동기 함수는 일반적으로 `P<a href='https://sangseek.com/sangseeks/romise/ko'>romise</a>` 객체를 반환하며, 이는 함수가 완료될 때까지 기다릴 수 있는 방법을 제공합니다. 비동기 함수의 타입을 정의하는 방법에 대해 자세히 살펴보겠습니다. 1. 기본적인 비동기 함수 정의 비동기 함수는 `async` 키워드를 사용하여 정의할 수 있습니다. 이 함수는 항상 `Promise`를 반환합니다. 기본적인 비동기 함수의 타입 정의는 다음과 같습니다: ```typescript async function <a href='https://sangseek.com/sangseeks/fetchData/ko'>fetchData</a>(): Promise<string> { // 비동기 작업 수행 return "데이터"; } ``` 위의 예제에서 `fetchData` 함수는 `Promise<string>`을 반환합니다. 이는 이 함수가 문자열을 포함하는 `Promise`를 반환한다는 것을 의미합니다. 2. 비동기 함수의 매개변수 타입 정의 비동기 함수는 매개변수를 가질 수 있으며, 이 매개변수의 타입도 정의할 수 있습니다. 예를 들어, 다음과 같이 매개변수의 타입을 정의할 수 있습니다: ```typescript async function fetchDataWithId(id: number): Promise<string> { // 비동기 작업 수행 return `데이터: ${id}`; } ``` 여기서 `id` 매개변수는 `number` 타입으로 정의되어 있습니다. 3. 반환 타입이 다른 비동기 함수 비동기 함수는 다양한 타입의 데이터를 반환할 수 있습니다. 예를 들어, 객체를 반환하는 비동기 함수는 다음과 같이 정의할 수 있습니다: ```typescript interface User { id: number; name: string; } async function fetchUser(id: number): Promise<User> { // 비동기 작업 수행 return { id, name: "사용자 이름" }; } ``` 이 예제에서 `fetchUser` 함수는 `Promise<User>`를 반환하며, 이는 `User` 인터페이스를 따르는 객체를 포함하는 `Promise`입니다. 4. 제네릭을 사용한 비동기 함수 타입스크립트의 제네릭을 사용하여 비동기 함수의 반환 타입을 동적으로 정의할 수도 있습니다. 예를 들어: ```typescript async function fetchData<T>(): Promise<T> { // 비동기 작업 수행 return {} as T; // 실제 데이터로 대체해야 함 } ``` 이 함수는 호출 시점에 제네릭 타입 `T`를 받아 해당 타입의 `Promise`를 반환합니다. 5. 비동기 함수의 에러 처리 비동기 함수에서 발생할 수 있는 에러를 처리하는 방법도 중요합니다. `try-catch` 블록을 사용하여 에러를 처리할 수 있습니다: ```typescript async function <a href='https://sangseek.com/sangseeks/fetchDataWithError/ko'>fetchDataWithError</a>Handling(): Promise<string> { try { // 비동기 작업 수행 throw new Error("오류 발생"); } catch (error) { console.error(error); throw error; // 에러를 다시 던지거나 다른 처리를 할 수 있음 } } ``` 6. 비동기 함수의 타입 정의 예시 다양한 비동기 함수의 타입 정의를 종합하여 예시를 들어보겠습니다: ```typescript interface ApiResponse<T> { data: T; status: number; } async function fetchApiData<T>(url: string): Promise<ApiResponse<T>> { const response = await fetch(url); const data = await response.json(); return { data, status: response.status }; } ``` 이 함수는 URL을 받아 해당 API의 응답을 `ApiResponse<T>` 형태로 반환합니다. 호출 시점에 `T`를 지정하여 반환 타입을 유연하게 설정할 수 있습니다. 결론 타입스크립트에서 비동기 함수의 타입을 정의하는 것은 함수의 입력과 출력을 명확하게 하고, 코드의 가독성과 유지보수성을 높이는 데 매우 중요합니다. `Promise`를 반환하는 비동기 함수의 기본적인 정의부터 시작하여, 매개변수, 반환 타입, 제네릭, 에러 처리 등을 통해 비동기 함수의 타입을 효과적으로 정의할 수 있습니다. 이러한 접근 방식은 타입스크립트의 강력한 타입 시스템을 활용하여 안전하고 예측 가능한 코드를 작성하는 데 기여합니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기