【问题标题】:Observable Versus Callback [duplicate]可观察与回调 [重复]
【发布时间】:2017-12-28 02:55:33
【问题描述】:

我已经做 javascript 一段时间了。然而,我对 Angular 2 还很陌生,所以我对 Observables 几乎一无所知。当我阅读 Observables 的描述时,它们听起来很像我已经知道的回调。当我问谷歌时,有回调和承诺之间的比较,还有承诺和可观察对象之间的比较。但是,我找不到回调和 Observables 之间的任何比较。

回调和可观察对象有什么区别?

【问题讨论】:

  • 你需要重新研究一下callbacks和promises之间的区别,那么这个问题就会过时了。您可以比较 promise 和 observables,但回调是不同的概念。你注册回调到 promises、observables 或任何你想要的东西。
  • 回调,即。能够传递函数引用,是实现 Promise 和 observables 的关键概念。所以这不是回调与可观察对象,而是回调和可观察对象

标签: javascript angular typescript reactive-programming


【解决方案1】:

正如this thread 中所讨论的,Observables 和 Promises 之间的主要区别在于 Promises 处理可以解决或失败的一次性异步事件,而 Observables 通过附加到异步流数据或事件源的各种操作启用可组合流.最后,为了将 Observable 或 Promise 的结果传递回同步代码,您将需要一个回调来作为数据接收器操作,因此两者不是互斥的。话虽如此,Observables 和 Promises 一样,允许使用可组合函数的语法糖以声明方式定义异步数据流上的操作。在 Observables 的情况下,您可以使用 single 回调作为接收器将结果传递回同步代码,而不必嵌套函数调用和/或执行递归函数调用,就像在使用纯回调组合异步操作。

【讨论】:

    猜你喜欢
    • 2010-12-04
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多