【发布时间】:2018-08-25 05:31:10
【问题描述】:
我已经了解了两种不同的方法来制作 Observable。第一个是主题,如下所示:
// file A
const message$ = new Subject();
// file B
message$.subscribe( (message) => console.log(message) );
// file C
message$.next("Hello there!");
这种创建 Observable 的方法使我能够将数据从文件 B 交换到文件 C。
第二种方式是通过 Observable 类,像这样:
// file A
const click$ = new Observable( function(observer) {
//Alternatively, I can use Observable.create()
document.addEventListener('click', (e) => observer.next(e));
});
// file B
click$.subscribe( (cl) => console.log(cl) );
我可以在 Subject 方式和 Observable 方式之间收集到的主要区别是,我不确定如何在某个文件 C 与 Observable 的订阅者之间进行某种通信。基本上,click$ 没有.next() 方法,观察者方法在我们传递给可观察对象的函数中。
除了这种行为差异之外,使用 Subject 制作的 observable 与使用 Observable 制作的 observable 之间是否还有其他差异
【问题讨论】:
标签: javascript rxjs reactivex