• [RxJS] Filtering operators: take, first, skip


    There are more operators in the filtering category besides filter(). This lesson will teach how take(), first(), and skip() are simply operators to ignore or pass a certain amount of events from the source Observable.

     take(number):
    var foo = Rx.Observable.interval(100);
    
    /*
    --0--1--2--3--4--5--6--7-
             take(5)
    --0--1--2--3--4
    */
    
    var bar = foo.take(5);
    
    bar.subscribe(
      function (x) { console.log('next ' + x); },
      function (err) { console.log('error ' + err); },
      function () { console.log('done'); },
    );
    
      /**
      "next 0"
    "next 1"
    "next 2"
    "next 3"
    "next 4"
    "done"
      */

    first():

    var foo = Rx.Observable.interval(100);
    
    /*
    --0--1--2--3--4--5--6--7-
             first()
    --0
    */
    
    var bar = foo.first();
    
    bar.subscribe(
      function (x) { console.log('next ' + x); },
      function (err) { console.log('error ' + err); },
      function () { console.log('done'); },
    );
    
      /**
      "next 0"
    "done"
      */

    skip(number): different with take(), it skip the first number of item, and show the rest:

    var foo = Rx.Observable.interval(100);
    
    /*
    --0--1--2--3--4--5--6--7
        skip(5).take(3)
    -----------------5--6--7
    */
    
    var bar = foo.skip(5).take(3);
    
    bar.subscribe(
      function (x) { console.log('next ' + x); },
      function (err) { console.log('error ' + err); },
      function () { console.log('done'); },
    );
    
      /**
      "next 5"
    "next 6"
    "next 7"
    "done"
      */
  • 相关阅读:
    使用python3自带工具2to3.py 转换 python2.x 代码 到python3
    python2代码转换python3(2018新)
    解析搜狗词库(python)
    把搜狗输入法词库导入Google拼音输入法
    QT 窗体控件的透明度设置(三种方法)
    Telnet协议详解(远程登陆协议)
    C++游戏开发需要阅读的书籍
    explicit的作用
    C#7.0
    ES6-2
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5527566.html
Copyright © 2020-2023  润新知