对于以下代码段 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/