我已经实例化了两个Observable
个对象:
const observable1 = new Observable.create(observer => observer.next(1));
const observable2 = new Observable.create(observer => observer.next(2));
Observable.forkJoin([observable1, observable2]).subscribe(res => console.log(res));
即使每个observable.subscribe()都正常工作,上述forkJoin()
也无效。
对此有何想法?
由于
答案 0 :(得分:3)
forkJoin
在发出结果值之前等待所有输入流完成。由于你没有完成可观测量,它永远不会发出任何东西。此外,您new
不需要Observable.create
,您可以直接导入forkJoin
- 无需在Observable
上使用它。将您的实施更改为:
import { forkJoin } from 'rxjs/observable/forkJoin';
import { Observable } from 'rxjs/Observable';
const observable1 = Observable.create(observer => { observer.next(1); observer.complete() });
const observable2 = Observable.create(observer => { observer.next(2); observer.complete() });
forkJoin([observable1, observable2]).subscribe(res => console.log(res));
有关组合运算符的非常好的解释,包括forkJoin
读取: