美文网首页
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