创建像这样的Observable之后
var source = Rx.Observable.create(function(observer) {...});
subscribe有什么区别
source.subscribe(function(x) {});
并为每个人
source.forEach(function(x) {});
shannon.. 61
在ES7规范中,RxJS 5.0遵循(但RxJS 4.0没有),两者不一样.
订阅
public subscribe(observerOrNext: Observer | Function, error: Function, complete: Function): Subscription
Observable.subscribe
您可以在那里完成大部分真正的Observable处理.它返回订阅令牌,您可以使用它来取消订阅.当您不知道您订阅的事件/序列的持续时间,或者您是否需要在已知持续时间之前停止收听时,这一点很重要.
的forEach
public forEach(next: Function, PromiseCtor?: PromiseConstructor): Promise
Observable.forEach
返回一个承诺,该承诺将在Observable完成或错误时解析或拒绝.它旨在阐明您以更"同步"的方式处理可观察的有界/有限持续时间序列的情况,例如整理所有传入的值,然后通过处理承诺呈现一次.
实际上,无论采用哪种方式,您都可以对每个值以及错误和完成事件进行操作.因此,最显着的功能差异是无法取消承诺.
在ES7规范中,RxJS 5.0遵循(但RxJS 4.0没有),两者不一样.
订阅
public subscribe(observerOrNext: Observer | Function, error: Function, complete: Function): Subscription
Observable.subscribe
您可以在那里完成大部分真正的Observable处理.它返回订阅令牌,您可以使用它来取消订阅.当您不知道您订阅的事件/序列的持续时间,或者您是否需要在已知持续时间之前停止收听时,这一点很重要.
的forEach
public forEach(next: Function, PromiseCtor?: PromiseConstructor): Promise
Observable.forEach
返回一个承诺,该承诺将在Observable完成或错误时解析或拒绝.它旨在阐明您以更"同步"的方式处理可观察的有界/有限持续时间序列的情况,例如整理所有传入的值,然后通过处理承诺呈现一次.
实际上,无论采用哪种方式,您都可以对每个值以及错误和完成事件进行操作.因此,最显着的功能差异是无法取消承诺.