gpt4 book ai didi

Scala Future 设计问题

转载 作者:行者123 更新时间:2023-12-01 09:19:50 24 4
gpt4 key购买 nike

我不明白为什么 Scala 的 Future 比 Twitter 更难使用并且功能更少,而第一个是在第二个之后创建的。所以,这里有关于 scala.concurrent.Future 的问题:

  • 为什么 Future.onComplete 返回 Unit 而不是 Future?可组合的方法要方便得多。
  • 为什么 Scala 的 Future 不支持取消?

最佳答案

Future.onComplete 返回一个单元,因此无法链接调用。根据 Scala 文档,“请注意,这种设计是有意的,以避免暗示链式调用可能暗示对已注册回调的执行进行排序(在同一 future 注册的回调是无序的)。”

要组合 Future,请使用 flatMapandThenfilter 等组合器,它们都会返回一个 Future。

查看 http://docs.scala-lang.org/overviews/core/futures.html#functional-composition-and-for-comprehensions了解更多详情

我认为取消非常微妙。有关详细信息,请参阅此讨论:How to cancel Future in Scala?

关于Scala Future 设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35666221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com