javascript - 可观察与回调

标签 javascript angular typescript reactive-programming

<分区>

我从事 JavaScript 已有一段时间了。然而,我是 Angular 2 的新手,所以我对 Observables 几乎一无所知。当我阅读 Observables 的描述时,它们听起来很像我已经知道的回调。当我问谷歌时,有回调和 promise 之间的比较,也有 promise 和可观察对象之间的比较。但是,我找不到回调和 Observable 之间的任何比较。

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

最佳答案

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

关于javascript - 可观察与回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45248103/

相关文章:

javascript - 事件和 DOM 元素

javascript - 加载时运行操作并停留在同一页面上

javascript - Angular2 中的动态着色图形

javascript - 如何使用 Angular 8 为对象数组提供不同的日期

javascript - 在构造函数的参数上使用 this 关键字

javascript - 当我们通过 iframe 传输对象时,我们可以保留 __proto__ 吗

javascript - 重复JS函数

javascript - 如何防止 Angular2 核心在页面加载时发出数十个 HTTP 请求?

javascript - 参数结果隐式具有任何类型

angular - 在 Typescript (Angular2 ionic2) 中访问 SASS 值($colors from variables.scss)