• [RxJS] What RxJS operators are


    We have covered the basics of what is Observable.create, and other creation functions. Now lets finally dive into operators, which are the focus of this course. We will see how operators are simple pure functions attached to the Observable type.

    var foo = Rx.Observable.of(1, 2, 3, 4, 5);
    
    function multiplyBy(num){
      // When chaining the subscribe, the source is this keyword
      const source = this;
      // Create a observalbe and subscribe
      const result = Rx.Observable.create(function(observer ){
        // source should be immutable, everytime return a new value
        source.subscribe( (item) => {
          observer .next(item * num);
        }, (err) => {
          observer.error(err); 
        }, () => {
           observer.complete(); 
        })
      });
      
      // Return the observable
      return result;
    }
    
    // Hack
    Rx.Observable.prototype.multiplyBy = multiplyBy;
    
    var bar = foo.multiplyBy(100);
    
    bar.subscribe(
      function (x) { console.log('next ' + x); },
      function (err) { console.log('error ' + err); },
      function () { console.log('done'); },
    );

    If you have many operators in chain like this, with some arguments in between, then, it means that once you subscribe to the observable that this returns (multiplyBy), that will subscribe to bar, which will subscribe to foo, which will subscribe to the source in the multiplyBy function.

  • 相关阅读:
    $.ajax
    es6--之箭头函数
    vuex相关知识点
    grunt---grunt_test 测试用例
    git2--常用命令
    git命令
    百万程序员的苦恼-选择VB.NET还是C#
    在Linux上运行C#
    C#中的cookie编程
    C#编程让Outlook乖乖交出帐户密码
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5523832.html
Copyright © 2020-2023  润新知