Monad Transformer In Scala
안녕하세요~ 오늘은 Monad Transformer 에 대해서 포스팅해보려고 합니다 ㅎㅎ » 이 글을 좀 더 좋은 가독성으로 읽기 « Monad Transformer 란? 자, 다음과 같이 간단한 코드가 있습니다. case class User(id: String, bestFriendId: String) def getUser(userId: String): Future[Option[User]] = ??? def getBestFriendOfUser(userId: String): Future[Option[User]] = for { userOpt <- getUser(userId) bestFriendIdOpt = userOpt.map(_.bestFriendId) bestFriendOpt <- bestFriendIdOpt match { case Some(bestFriendId) => getUser(bestFriendId) case None => Future.successful(None) } } yield bestFriendOpt getBestFriendOfUser 함수를 보면 Future 와 Option...