美文网首页
rxjs 里的map operator

rxjs 里的map operator

作者: _扫地僧_ | 来源:发表于2021-02-07 09:12 被阅读0次

    只有调用函数subscribeToArray的上下文,才知道array的内容到底是什么。

    调用上下文,只有一个参数input传给了subscribeToArray:


    因此只有在Observable构造函数里,才能打印出input的真实数据:

    源代码:

    const a = of([1, 2, 3]);
        const b = map((data: number[]) => {
          for( let i = 0; i < data.length; i++){
            data[i] = data[i] + 1;
          }
          console.log('data: ' + data);
          return data;
        } );
    

    map的实现:

    export function map(project, thisArg) {
        return function mapOperation(source) {
            if (typeof project !== 'function') {
                throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');
            }
            return source.lift(new MapOperator(project, thisArg));
        };
    }
    

    地址:

    这里有几个术语:

    project:就是应用开发人员传入map操作的回调函数。
    map返回一个新的函数mapOperation, 这个operation也不会立即执行,而是等Observable的subscribe调用触发时,才真正执行。

    这个map operator返回的类型:OperatorFunction<number[], number[]>

    更多Jerry的原创文章,尽在:"汪子熙":


    相关文章

      网友评论

          本文标题:rxjs 里的map operator

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