我已经实例化了两个 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));
即使每个可观察到的 forkJoin()
也无法正常工作。
对此有任何想法吗?
谢谢
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
阅读:
- 学会将RXJS序列与超级直观的交互式图相结合
这是直接指示forkjoin操作员的链接。