상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
허깅 페이스의 기술 지원을 받으려면 어떻게 해야 하나요?
GDPR에서 개인정보 처리자의 의무는 무엇인가요?
뉴욕의 데이터 분석 직군에서의 직업별 연봉은 어떤가요?
도쿄의 의료계 직업별 연봉은 어떤가요?
도쿄의 세무사 연봉은 어떤 수준인가요?
도쿄에서 고객 서비스 직무 연봉은 얼마나 되나요?
런던 직업별 연봉이 가장 높은 직업은 무엇인가요?
런던 직업별 연봉을 증가시키려면 어떤 방법이 있을까요?
런던에서 IT 관련 직업별 연봉의 예측 변화는 어떤가요?
런던 직업별 연봉에서 법학 전공자의 평균 연봉은 얼마인가요?
오클랜드 직업별 연봉은 성별에 따라 차이가 있나요?
쿠바의 주요 관광지는 어디인가요?
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순위입니다.
수정하기
취소하기