作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我喜欢scala是类型安全的,但是我一直遇到的一个运行时错误是
Future.filter predicate is not satisfied
val r: Future[play.api.mvc.Result] = for {
account <- accountServer.get(...)
if account.isConfirmed
orders <- orderService.get(account, ...)
} yield {
...
}
最佳答案
filter
对Future
毫无意义,因为类型系统不知道else
情况返回什么,因此依靠它(使用if-guard)是不安全的。但是,您可以凭一己之力做到这一点,以实现相同的目的:
val r: Future[play.api.mvc.Result] = for {
account <- accountServer.get(...)
orders <- if (account.isConfirmed) orderService.get(account, ...)
else Future.successful(Seq.empty)
} yield {
...
}
关于scala - 如何最好地处理Future.filter谓词不满足类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34572730/
我是一名优秀的程序员,十分优秀!