欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

xjs笔记四:操作符map 有大用

Observable对象代表的是一个数据流,在实际开发场景中,创建Observable对象并不是每次都通过直接调用Observable构造函数来创造数据流对象的。
对于复杂的逻辑处理,往往会先进行对数据流进行筛选处理,处理之后数据才会接入Observer,操作符的主要用途也是去过滤数据的。

       
图1.png


对于原数据流的处理,每个操作符之间是独立的,因此,我们可以对不同的操作符进行随意的组合使用

// 首先需要现在aaaaa标签下深链导入
import { Observable, range, filter, map, of } from 'rxjs';

// 数组数据转为立方
arrCube(array) {
    const theSubscribe = observer => {
        array.forEach(item => {
            observer.next(item);    
        })
    }
    const source$ = Observable.create(theSubscribe);
    source$.map(x => x*x*x).subscribe(console.log);
}

Observable.create返回的就是一个新的Observable对象,因为create是Observable的类函数,所以使⽤的时候⽆需Observable对象 实例,这是静态类型操作符的特点。

Observable.create = function(subscribe) {
    return new Observable(subscribe);
}

后面的map就是一个操作符,这种操作符和ES6中的map操作类似,ES6中是通过一个函数对该数组进行操作返回的是一个新的数组。
RXJS中与ES6的map不同之处是,ES6中是对数组元素映射为一个新的值,再将新的值组合成一个新的数组,而RXJS中是对数组元素映射为新的值,而后产生一个新的Observable对象,接着发送给Obsrever。

       

来自 https://www.jianshu.com/p/e7c8ec0240c8  

普通分类: