def funct1 : Future[\/[Throwable,Address] ] ={}
def func2 : Future[\/[Throwable,Option[Person]] = {}
现在在func2
def func2 : Future[\/[Throwable,Option[Person]] = async{
blocking{
val person :Option[Person] = PersonDao.findByType("employee")
person.map{ p =>
p.copy(addresses = func1Address) //need to call func1 and get Address out of it here
}
}
}
如何获得func1Address
以上?尝试使用来自scalaz的EitherT
,但它没有正确对齐,Future
没有p
而func1
正在返回Future[\/]
。最好的方法是什么?