首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何发现未追踪的未来?

如何发现未追踪的未来?
EN

Stack Overflow用户
提问于 2019-04-22 21:35:33
回答 1查看 109关注 0票数 2

期货在我的代码中执行,没有被检测到。

代码语言:javascript
复制
def f(): Future[String] = {
  functionReturningFuture() // How to detect this?
  Future("")
}

理想情况下,静态分析工具将有助于检测这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-23 07:36:44

您可以从NonUnitStatements获得更接近的WartRemover,但它不能只出错Future语句并跳过所有其他语句。

如果您有这样的问题,可以作为反对使用Future并将其替换为一些IO: Cats‘s IO、Monix's Task或Scalaz ZIO的论据。当涉及到它们时,首先构建管道,然后运行管道。如果您省略了IO值作为回报,并且没有以任何其他方式(flatMapmap2for理解等)将其组合到结果中,那么它就不会被执行--它仍然存在,但不会造成任何伤害。

如果您只想在Future上拥有更大的控制和错误,您可能需要编写你自己的WartRemover疣ScalaFix规则

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55801435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档