可观察到的回叫

时间:2017-07-21 23:27:48

标签: javascript angular typescript reactive-programming

我一直在做javascript一段时间了。但是,我对Angular 2很新,所以我对Observables几乎一无所知。当我阅读Observables的描述时,他们听起来很像我已经知道的回调。当我问Google时,回调和承诺之间存在比较,并且承诺与可观察之间存在比较。但是,我无法在回调和Observables之间找到任何比较。

回调和可观察量之间有什么区别?

1 个答案:

答案 0 :(得分:1)

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