RxJS异步通信之map、flatMap

你。 提交于 2019-12-07 19:04:31

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]


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!