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]
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]
相关文章推荐
- scala flatMap reduceLeft foldLeft
- Scala常用函数式编程之map、foreach、flatten、flatmap、filter、zip、zipWithIndex
- spark学习-16-Spark的Map()和FlatMap()函数使用
- Spark Transformation —— flatMap算子
- Retrofit 使用flatmap操作符时处理错误、异常
- scala-35:List的map、flatMap、foreach、filter操作代码实战
- 3.2 Spark RDD 基本转换操作1-map、flatMap、distinct
- spark中的map和flattop,persist和cache分别有什么区别?
- Spark算子:RDD基本转换操作map、flatMap
- spark简单操作——map flatmap filter distinct
- Spark 中map与 flatMap的区别
- DataSet数据集在使用sql()时,无法使用map,flatMap等转换算子的解决办法
- spark 中map 和flatmap 的区别
- Scala常用函数式编程之map、foreach、flatten、flatmap、filter、zip、zipWithIndex
- Spark算子:RDD键值转换操作(1)–partitionBy、mapValues、flatMapValues
- Android RxJava 之FlatMap()
- Spark 中 map 与 flatMap 的区别
- RxJava变换操作符:.concatMap( )与.flatMap( )的比较
- Scala深入浅出进阶经典 第88讲:Scala中使用For表达式实现map、flatMap、filter
- Android打造自己的网络框架----RxJava的基础学习使用2(map、flatMap)