【问题标题】:What functionalities that RxJS provide for Angular2?RxJS 为 Angular2 提供了哪些功能?
【发布时间】:2015-11-22 21:23:20
【问题描述】:

Angular2 项目中有一些 RxJS 的references。 Angular2 中的 RxJS 是做什么用的?

【问题讨论】:

  • Http、EventEmitter、AsyncPipe 同时支持 Promises 和 Observables,并且计划支持 @ObserveChild(基本上是 EventEmitter)或类似的语法(顺便说一句,这是一个很棒的想法)。我现在能记得的就这些了。
  • 查看代码,我看到 EventEmitter 正在扩展来自 RxJS 的 Subject。您可以移动您的评论作为答案。

标签: angular rxjs


【解决方案1】:

angular2 使用 RxJS 的列表

  • Http(例如它的get方法返回一个Observable
  • EventEmitter(就像你说的,延伸自Subject
  • AsyncPipe 支持PromiseObservableEventEmitter
  • QueryList 的changes 方法返回EventEmitter更新
  • NG_ASYNC_VALIDATORS 实现 Validator 并覆盖方法 validate 以返回 PromiseObservable更新

关于 NG_ASYNC_VALIDATORS 的注意事项

NG_ASYNC_VALIDATORS 不直接使用Observable,它不订阅它们而是将它们转换为Promises,无论如何,NG_ASYNC_VALIDATORS 仍然接受Observables。查看validators.ts 中的#104 行。

感谢@przemcio 的观察。

尚未实施/正在讨论中

注意

他们正在使用裸操作符处理捆绑 RxJS,请参阅问题 #5288。这个想法是用最少的操作符分发 angular2 并让用户提供其余的操作符。

笔记更新

就像我被告知herehere(我在导入Subject 时遇到问题)他们正在努力完全删除Subject,所以我们只能从核心导入Observable,其他一切都应由开发人员提供。

PS

我想不到其他的了,如果我记得别的东西我会更新答案。

【讨论】:

  • 你确定异步验证器吗?我在 alpha-45 中只看到了 Promises 和任何 Observable。
  • @przemcio 抱歉,我不太明白你的问题。
  • 我在代码中看到验证器只能返回 Promises 而不是 observables。
  • @przemcio 你是对的,但是看看这个line,它确实接受 Observables,但将它们转换为 Promise。问题是 angular2 在哪里使用 RxJS,而这使用它们但不是直接使用它们。我会添加一个关于那个的注释,以防混淆。
猜你喜欢
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
  • 2012-03-25
相关资源
最近更新 更多