2015-09-07 102 views
0

有期貨f1,f2和f3。如果我們需要等到f1 and f2完成or f3的確,即條件看起來像completed(f1) & completed(f2) | completed(f3),那麼我們如何使用Scala Async來流利地組成它?由斯卡拉撰寫期貨異步

回答

2

我不知道異步,但你可能會找到一個解決方案,使用Future.firstCompletedOfpromises。對此,SO已經有一個post

如果你不關心取消期貨,你可以簡單地這樣做:

val f1 = Future { /*...*/ } 
val f2 = Future { /*...*/ } 
val f3 = Future { /*...*/ } 

Future.firstCompletedOf(Seq(f1.flatMap(f2), f3))