scala - 为什么 IDEA 在返回 Future of None 时会发出警告?

标签 scala intellij-idea

对于以下代码段 IDEA 给出了警告,即 future {None}将是多余的:

queryString match {
  case Some(query) => ... // Do async call
  case None        => future { None }
}

有没有更好的可能性来做到这一点?

最佳答案

您可以使用 Future.successful[T](result: T) 创建一个已经设置的 future 而不产生闭包。 ,所以也许 Future.successful(None)是你想要的。

但是,由于 future 已经独立于其类型参数区分成功和失败,因此您也可以通过 Future.failed(new Exception("No query string")) 发出失败信号。 ,鉴于您的异步调用也可以省略 Some 中的包装.

关于scala - 为什么 IDEA 在返回 Future of None 时会发出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14912555/

相关文章:

scala - Spark 至 Cassandra : Writing Sparse Rows With No Null Values To Cassandra

scala - 如何运行 Akka

scala - Logback 依赖性阻止 SBT 离线运行

java - 在 intelliJ 中创建一个 psiElement

java - 缩进空行 (IntelliJ IDEA)

scala - 在哪里搜索 Scala 语法 - 保留字、关键字、运算符?

ruby - 如何配置 Buildr 以运行 ScalaTest 2.11?

java - IntelliJ 2016.3.3 (32b) JVM 错误代码-6

debugging - 在intellij中调试期间有什么方法可以保存变量及其值吗?

android - IntelliJ 上的 Android 测试中源文件的 NoClassDefFoundError