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

Why foreach instead of onSuccess for callbacks in Scala?

Scala 具有用于在 Future 上安装回调的 foreach 构造:

myFuture foreach{
 //computation
}

最初为了同样的目的有 onSuccess。

onSuccess 似乎是一个更符合逻辑的名称(在 future 完成时执行此操作)。为什么取这个名字'foreach'呢?它是否代表回调上下文中缺少 onSuccess 的内容?

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

onComplete2.12.0 中被弃用。命名的原因是:

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

Link: Deprecations: onSuccess and onFailure.

我不确定如何看待这个论点。比如Option上有很多多余的方法,我们不就只去掉一个,只保留fold吗?