在理解Observable,Observer和subscribe的过程中,我刚刚来到这个例子,无法理解这个例子,我很困惑
var observable = Rx.Observable.create(
function(observer) {
observer.onNext('Simon');
observer.onNext('Jen');
observer.onNext('Sergi');
observer.onCompleted(); // We are done }
);
这里发生了什么?我们在这里创造的观察者流?但是观察者是在使用subscribe方法订阅流时从流接收数据的人,并且有3个方法onNext,complete和error。
还举个例子。我们在哪里创建一个流,一个观察者(独立)以及这个独立的观察者如何订阅一个observable。
答案 0 :(得分:0)
文档是理解可观察者及其机制的入口。现在的事实是它有时会非常密集。我建议你看看这里:
Creating and Subscribing to Simple Observable Sequences
对你的问题的简短回答是:
Rx.Observable.create
返回一个对象(一个observable),它实现了一个包含subscribe
函数的接口(在文档中描述)。当您在subscribe
中执行.subscribe(observer)
函数时,作为Rx.Observable.create
参数传递的工厂函数将使用该observer
参数执行。在您的情况下,Simon
等值将被推送到观察者(它实现包含onNext
,onCompleted
等的观察者界面。 .subscribe(function yournamehere(){...})
。因此,观察者是从该函数内部构建的,其onNext
是您传递的函数,其onError
和onCompleted
是默认值。