从字面意思理解:
concatAll:多个数据流以收尾相连方式合并
mergeAll:多个数据流以先到先得方式合并
switch:“切换”,多个数据流,后面的会取消前面的订阅
exhaust:“耗尽”,多个数据流,首先被订阅的,终止之后,后面的才会被订阅
下面结合代码理解:
concatAll:
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
import 'rxjs/add/operator/take';
import 'rxjs/add/operator/concatMap';
const source$ = Observable.interval(100);
const result$ = source$.concatMap(
(value, index) => {
console.log('#enter func');
return Observable.interval(100).take(5);
}
);
result$.subscribe(
console.log,
null,
() => console.log('complete')
);
弹珠图:
待完善
运行结果:
整理中……