比较Rxjs事件处理和Promise的具体示例

时间:2016-02-25 18:33:24

标签: rxjs

所有

我是Rx.js的新手(我在技术会议上听到这个名字),我真正感到奇怪的是如何在真实项目中使用它(或者说它的用户名是什么),并且有人能给我一个例子在哪种情况下,Rx.js可以做但是Promise不能做(或者在Rx.js中更容易做)?

谢谢

1 个答案:

答案 0 :(得分:0)

你的问题过于模糊和开放。我建议做一些阅读,但如果你想要短版本:

...观测量

  • 当此“无限序列”结束时,返回逻辑“无限”数量的值和“完成”,或者抛出错误
  • 拥有创建/订阅/处置生命周期
  • 实际上可以建模一系列HTTP请求及其取消
  • 基于功能编程技术并且是被动的
  • 非常适合建模异步数据流
  • 根据订阅者进行延迟评估

...承诺

  • 异步返回单个值或拒绝/抛出错误
  • 已创建,然后根据定义解析或拒绝
  • 可以为将要完成的单个HTTP请求建模
  • 不是真的基于FP(有很多关于GH的问题,它们几乎都充满了戏剧性,并且不值得一读)
  • 只能建模单个任务
  • 热切地按设计评估

有些人可能会误以为这是对Promises的攻击,但对于单值异步,Promise通常足够好。但是Rx用户可能不喜欢Promises,因为与Observable相比,他们觉得他们只有一些功能较少的功能。