RxJS非同步通訊之map、flatMap
阿新 • • 發佈:2019-01-24
let source1: string = Observable.range(1,4).map((item) => {
return item;
});
source1.subscribe((itam) => {
console.log('return value: ' + item);
});
return value:1
return value:2
return value:3
return value:4
let source2: string = Observable.range(1,4).flatMap((item) => {
return Observable.of(item);
});
source2.subscribe((itam) => {
console.log('return value: ' + item);
});
return value:1
return value:2
return value:3
return value:4
在RxJS中map和flatMap都可以對單個物件進行操作,最主要的區別在於返回的資料型別,map的返回就是原本的資料型別即可,而flatMap返回的是一個流資料,即要在資料返回是增加Observable的轉換。這裡的return的單粒的,如果想直接返回一個數組,直接使用toArray()方法即可。
let source2: string = Observable.range(1,4).flatMap((item) => {
return Observable.of(item);
}).toArray();
source2.subscribe((itam) => {
console.log('return value: ' + item);
});
return value:[1,2,3,4]