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