这是我之前question
的后续内容假设有一个函数f1: A => Option[Future[B]]
,它以异步方式调用远程服务器,而函数f2: B => Option[Future[C]]
则会再次调用服务器。现在我想知道如何编写这些函数f1
和f2
来创建一个新函数f3: A => Option[Future[C]]
。
如果我按照上一个question的回答,我会使用与FutureT
类似的ListT
val f3 = {a:A => (for {b <- FutureT(f1(a)); c <- FutureT(f2(b))}).underlying}
有意义吗?我应该自己写这个FutureT
吗?