0
有期貨f1,f2和f3。如果我們需要等到f1 and
f2完成or
f3的確,即條件看起來像completed(f1) & completed(f2) | completed(f3)
,那麼我們如何使用Scala Async來流利地組成它?由斯卡拉撰寫期貨異步
有期貨f1,f2和f3。如果我們需要等到f1 and
f2完成or
f3的確,即條件看起來像completed(f1) & completed(f2) | completed(f3)
,那麼我們如何使用Scala Async來流利地組成它?由斯卡拉撰寫期貨異步
我不知道異步,但你可能會找到一個解決方案,使用Future.firstCompletedOf和promises。對此,SO已經有一個post。
如果你不關心取消期貨,你可以簡單地這樣做:
val f1 = Future { /*...*/ }
val f2 = Future { /*...*/ }
val f3 = Future { /*...*/ }
Future.firstCompletedOf(Seq(f1.flatMap(f2), f3))