我有一個Future
和一個Future
完成後我想要執行的功能。並返回一個新的Future
。連鎖2期貨 - 計算一個並返回另一個
我想創建一個函數這樣做,但我不能:
def chain(fut: Future[A], continueFun: Future[A] => B): Future[B] = future {
fut onComplete { case Success(x) => continueFun(x) } // ops, Unit
}
我省略onFailure
爲簡單起見。
但是,onComplete
,onSuccess和onFailure - 他們都返回Unit
。一旦Future[A]
完成後,如何返回Future[B]
?
「continueFun」以「Future」爲參數很重要嗎?否則我認爲你可以簡單地做'futureA.map(continueFun)' – tehlexx
@tehlexx,是的。 –