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