當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Scala Future.filter用法及代碼示例


filter 方法(或屬性)屬於concurrent.Future特性(trait),其相關用法說明如下。

用法:

def filter(p: T => Boolean)(implicit executor: ExecutionContext): Future[T]

通過使用謂詞過濾當前未來的值來創建新的未來。

如果當前未來包含滿足謂詞的值,則新未來也將保持該值。否則,由此產生的未來將失敗並出現 NoSuchElementException

如果當前的未來失敗了,那麽由此產生的未來也失敗了。

例子:

val f = Future { 5 }
val g = f filter { _ % 2 == 1 }
val h = f filter { _ % 2 == 0 }
g foreach println // Eventually prints 5
Await.result(h, Duration.Zero) // throw a NoSuchElementException

值參數:

p

應用於此 Future 成功結果的謂詞

返回:

一個Future,如果它匹配謂詞或NoSuchElementException,它將保存這個Future的成功結果

源碼:

Future.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Future.filter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。