如何编写在Scala中返回Option [Future]的函数?

时间:2014-03-15 17:06:06

标签: scala future monad-transformers

这是我之前question

的后续内容

假设有一个函数f1: A => Option[Future[B]],它以异步方式调用远程服务器,而函数f2: B => Option[Future[C]]则会再次调用服务器。现在我想知道如何编写这些函数f1f2来创建一个新函数f3: A => Option[Future[C]]

如果我按照上一个question的回答,我会使用与FutureT类似的ListT

val f3 = {a:A =>
  (for {b <- FutureT(f1(a)); c <- FutureT(f2(b))}).underlying}

有意义吗?我应该自己写这个FutureT吗?

0 个答案:

没有答案