使用Observables而不是承诺时,开销是否有任何差异?

时间:2016-07-28 11:19:48

标签: angular

我正在考虑是否在我的新Angular 2应用程序中使用observables或promises。我被告知可观察者可以做任何承诺可以做的事情和更多,但我很好奇,与承诺相比,可观察量需要多少开销。有没有人运行基准测试?还有什么理由可以使用承诺吗?

1 个答案:

答案 0 :(得分:2)

虽然observable和promises都处理异步处理,但存在一些差异:

  • 可以取消观察。承诺不能。
  • Observables是懒惰的,只有在回调订阅它们时才会执行。 Promise总是在创建时执行。
  • Observables可以处理多个事件,而promises只能解决一次。
  • Observables提供了一组运算符来创建异步数据流(如mapflatMapfilter,...)