개발/이펙티브 타입스크립트

[이펙티브 타입스크립트+25] 비동기 코드에는 콜백 대신 async 함수 사용하기

Junghyun Kim 2021. 8. 28. 01:50
반응형

3장 타입 추론
아이템 25 | 비동기 코드에는 콜백 대신 async 함수 사용하기

3줄 요약
1. 콜백보다는 프로미스가 코드를 작성하기도 타입을 추론하기 쉽다.
2. async 함수는 항상 프로미스를 반환하도록 강제한다.
3. async 함수에서 프로미스를 반환하면 또 다른 프로미스로 래핑되지 않는다.

참고) 이펙티브 타입스크립트는 타입스크립트의 기본 그 이상을 다룹니다.


자바스크립트 관점에서 콜백 대신 async 함수를 사용하는 것이 좋은 이유 중 하나는 코드의 가독성을 높일 수 있기 때문입니다.
타입스크립트에서도 마찬가지입니다.

async 함수를 통해 더 직관적인 코드를 만들어낼 수 있고 타입 추론을 쉽게 만들어줍니다.

이번 아이템은 사실 많은 분들이 알고 있는 이야기라 몇 가지 특징점만 집고 넘어가겠습니다.

1) async 함수는 항상 프로미스를 반환하도록 강제합니다.

async 함수의 리턴 타입은 Promise 타입
Promise.resovle의 반환 타입은 Promise 타입

 

2) async 함수에서 프로미스를 반환하면 또 다른 프로미스로 래핑되지 않습니다.

반환 타입이 Promise<Promise<T>>가 아닌 Promise<T>가 됩니다.

Promise.resovle가 중첩되어도 반환 타입은 Promise 타입이다.

 

 

 

Materials From
1. <이펙티브 타입스크립트>(댄 밴더캄 지음, 장원호 옮김, 인사이트 2021)
2. 타입스크립트 공식 홈페이지 | https://www.typescriptlang.org/

 

Typed JavaScript at Any Scale.

TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before you even run your code.

www.typescriptlang.org

 

반응형