您的位置:首页 > Web前端 > JavaScript

RxJS异步通信之map、flatMap

2017-05-10 21:11 274 查看
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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息