美文网首页
Rxjs笔记四:操作符map

Rxjs笔记四:操作符map

作者: 听书先生 | 来源:发表于2022-02-23 17:28 被阅读0次

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

    图1.png

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

    // 首先需要现在script标签下深链导入
    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。

    图2.png

    相关文章

      网友评论

          本文标题:Rxjs笔记四:操作符map

          本文链接:https://www.haomeiwen.com/subject/vpgolrtx.html