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]
来源:CSDN
作者:HelloWorld程序猿
链接:https://blog.csdn.net/u012631731/article/details/71597541