interface UserID {
}
class API {
getLoggedInUserId(): Option<UserID> {
return _Option("something")
}
getFriendIds(userID: UserID): Option<UserID[]> {
return _Option([])
}
getUserName(userID: UserID): Option<string> {
return _Option("test")
}
}
const api = new API
const result = api.getLoggedInUserId().flatMap(_ => api.getFriendIds(_)).flatMap(_ => api.getUserName(_))
Option의 내부에 api 호출의 결과(실패할 수도 있는)를 집어넣어서 에러를 처리해야 하는데, 그냥 성공하는 상황만 가정해서 구현했다. 어차피 undefined나 null이 들어간다면 Option을 통해 에러가 알아서 처리가 된다.
모양새는 많이 다르지만 Promise에 쓰인 개념과 비슷한 느낌인 것 같다.
728x90
'Typescript > 타입스크립트 프로그래밍 연습문제' 카테고리의 다른 글
| 6장 연습문제 (1) | 2023.03.29 |
|---|---|
| 5장 연습문제 (0) | 2023.03.23 |
| 4장 연습문제 (0) | 2023.03.22 |
| 3장 연습문제 (0) | 2023.03.21 |