我正在尝试使用Observable.forkJoin,订阅处理程序永远不会被击中.forkJoin操作符在我的应用程序的其他部分为我工作,我在非工作场景中可以想到的唯一区别是observable是BehaviorSubject使用其asObservable()功能从对象创建的.
这个订阅受到了打击
let obs = Observable.of(1);
Observable.forkJoin(
obs
).subscribe(data => {
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
这个没有
let bs = new BehaviorSubject<number>(1);
let obs = bs.asObservable();
Observable.forkJoin(
obs
).subscribe(data => {
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
当然,在我的实际用例中,有一个以上的obseravble,这就是为什么我首先使用forkJoin.
是否还需要对BehaviorSubject执行其他操作以使其与forkJoin一起使用?
更新:
在调查了RxJs文档后,我意识到这Observable.combineLatest更适合我的需要而不是forkJoin...链接在这里以防任何遇到这个SO帖子:http:
//reactivex.io/rxjs/class/es6/Observable. JS〜Observable.html#静态方法,combineLatest