Observable.forkJoin无效

时间:2017-12-14 17:14:08

标签: angular ionic2 rxjs

我已经实例化了两个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()也无效。

对此有何想法?

由于

1 个答案:

答案 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读取: