Rxjs观察员
问题描述:
我刚刚开始使用Observable和Observer模式,我经历了各种网站,发现Observable是生产者,Observer是消费者。然后当我通过下面的代码时,我对观察者的意义感到困惑。Rxjs观察员
export class AppComponent {
private data:Observable;
private dataObserver:Observer;
constructor(private http: Http) {
this.data = new Observable(observer => this.dataObserver = observer);
}
所以,任何人都可以请提供观察者的含义,当你正在创造新的可观察对象的帮助。
this.data =新可观察(观察者=> this.dataObserver =观察者)
答
可观测构造函数的参数是所谓的与该订阅该可观察的观察者的回调方法。所以观察者在创建Observable时不可用。
你可以在这里找到更多的信息: http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-constructor-constructor
当可观察最初 订阅到被调用的函数。这个函数被赋予一个订阅者,可以将新的 值链接到该函数,或者可以调用错误方法来引发一个 错误,或者可以调用完成来通知成功完成。
这里 http://reactivex.io/documentation/operators/create.html
您可以通过创建 操作从头开始创建可观察到的。您可以通过该操作员接受观察者 作为其参数。编写这个函数,使其表现如同Observable一样 - 通过适当地调用观察者的onNext,onError和onCompleted方法。
良好的形成有限可观察必须尝试调用任一 观察者的onCompleted方法正好一次或其onError方法 恰好一次,并且此后不能试图调用任何 观察者的其他方法。
的[RxJS5订阅和观察者之间的不同]可能的复制(http://stackoverflow.com/questions/41949355/difference-between-rxjs5-subscription-and-observer) – olsn