美文网首页
rxjs of操作符里subscribeToArray的实现原理

rxjs of操作符里subscribeToArray的实现原理

作者: 华山令狐冲 | 来源:发表于2021-02-08 09:31 被阅读0次

写一段简单的代码来测试subscribeToArray:

test1(){
    const subscribeToArray = (array) => (subscriber) => {
      for (let i = 0, len = array.length; i < len; i++) {
          subscriber.next(array[i]);
      }
      subscriber.complete();
  } ;
    console.log(subscribeToArray);

    const input = [1, 2, 3];
    const result = subscribeToArray(input);

    const print = (a) => {
      if(!!a){
        console.log('next: ' + a);
      }
      else{
        console.log('completed!');
      }
    }

    const mySubscribe = {
      next: print,
      complete: print
    };

    result(mySubscribe);

执行结果:

逐一分析:

subscribeToArray是一个函数,它接收一个array,生成另一个函数。第二个函数接收一个输入参数subscriber,函数体内依次调用next和complete方法处理array的内容。

如下图所示,观察第二个函数是如何接受subscriber对象并产生输出的:

当然支持输入为多重数组:

输出:

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


相关文章

网友评论

      本文标题:rxjs of操作符里subscribeToArray的实现原理

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