当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。