前言
在Rxjs的世界中,为了满足复杂的需求,往往需要把不同来源 的数据汇聚在一起,把多个Observable对象的数据合并到一个 Observable对象中。
合并类操作符
- concat
能够把多个Observable中的数据 内容依次合并。
import 'rxjs/add/observable/of';
import 'rxjs/add/operator/concat';
const source1$ = Observable.of(1, 2, 3);
const source2$ = Observable.of(4, 5, 6);
const concated$ = source1$.concat(source2$);
- Merge
merge会第一时间订阅所有的上游Observable,然 后对上游的数据采取“先到先得”的策略,任何一个Observable只要有数据推 下来,就立刻转给下游Observable对象。
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/timer';
import 'rxjs/add/operator/map';
import 'rxjs/add/observable/merge';
const source1$ = Observable.timer(0, 1000).map(x => x+'A');
const source2$ = Observable.timer(500, 1000).map(x => x+'B');
cons