为什么在 Scala 中为 foreach 而不是 onSuccess 进行回调?



Scala 有 foreach 构造来在未来安装回调:

myFuture foreach{
//computation
}

最初有 onSuccess 出于同样的目的。

onSuccess似乎是一个更好的逻辑名称(当未来完成时执行此操作)。那为什么叫"foreach"呢?它是否表示在回调上下文中缺少 onSuccess 的内容?

foreachonComplete之间的唯一区别似乎是foreach需要总函数作为参数。

onComplete2.12.0年已弃用。命名的原因是:

  1. 有太多的回调方法本质上在做同样的事情。为了避免混淆,其中一些已被弃用,因此更容易决定何时使用什么。
  2. 促进for理解

链接:弃用:成功和失败。

我不知道该如何看待这个论点。例如,Option上有相当多的冗余方法,我们不能只删除除一个之外的所有方法,只保留fold吗?

最新更新