RxJS 为 Angular2 提供了哪些功能?

2024-02-16

有一些Angular2 项目中的 RxJS。 RxJS 在 Angular2 中的用途是什么?


angular2 使用 RxJS 的列表

  • HTTP(例如其get https://github.com/angular/angular/blob/master/modules/angular2/src/http/backends/xhr_backend.ts#L28方法返回一个Observable)
  • 事件发射器 https://github.com/angular/angular/blob/master/modules/angular2/src/facade/async.ts#L99(就像你说的,延伸自Subject)
  • 异步管道 https://github.com/angular/angular/blob/master/modules/angular2/src/common/pipes/async_pipe.ts#L79它支持Promise, Observable or EventEmitter.
  • 查询列表的changes https://github.com/angular/angular/blob/master/modules/angular2/src/core/linker/query_list.ts#L34方法返回一个EventEmitter. Update
  • NG_ASYNC_VALIDATORS https://github.com/angular/angular/pull/5020它实现了Validator https://github.com/angular/angular/blob/master/modules/angular2/src/common/forms/directives/validators.ts#L26并重写该方法validate返回一个Promise or an Observable. Update

关于 NG_ASYNC_VALIDATORS 的注意事项

NG_ASYNC_VALIDATORS不使用Observable直接,它不会订阅它们,而是将它们转换为Promises, 任何状况之下,NG_ASYNC_VALIDATORS仍然接受Observables。看线#104 https://github.com/angular/angular/blob/master/modules/angular2/src/common/forms/validators.ts#L104 in validators.ts.

感谢@przemcio 的观察。

尚未实施/正在对话中

  • 观察孩子 https://github.com/angular/angular/issues/4062#issuecomment-152360414这将返回一个EventEmitter.
  • 观察儿童 https://github.com/angular/angular/issues/5467 Update

Note

他们正在使用裸操作符开发捆绑 RxJS,请参阅问题#5288 https://github.com/angular/angular/pull/5288。这个想法是用最少的所需运算符来分发 angular2,并让用户提供其余的运算符。

注意更新

就像我被告知的那样here https://gitter.im/angular/angular?at=5652628ba051fea3424336f8 and here https://gitter.im/angular/angular?at=56526a6254ba2ca242611aab(我在导入时遇到问题Subject)他们正在努力彻底消除Subject,所以从核心我们只能导入Observable,其他一切都应由开发商提供。

PS

我想不出其他的,如果我记得其他的,我会更新答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RxJS 为 Angular2 提供了哪些功能? 的相关文章

随机推荐