给定一个Future[Seq[Widget]],Widget包含一个amount : Int属性,我想返回一个Seq[Widget]但仅限于那些Widget数量值大于100的s.我相信该for { if … } yield { }构造将给我我想要的但不确定如何过滤序列.我有:
val myWidgetFuture : Future[Seq[Widget]] = ...
for {
widgetSeq <- myWidgetFuture
if (??? amount > 100) <— what to put here?
} yield {
widgetSeq
}
Run Code Online (Sandbox Code Playgroud)
如果有一种干净的非收益方式,这对我也有用.
你甚至不需要yield.使用map.
val myWidgetFuture: Future[Seq[Widget]] = ???
myWidgetFuture map { ws => ws filter (_.amount > 100) }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |