zoukankan      html  css  js  c++  java
  • [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"
      */
  • 相关阅读:
    收缩清空数据库
    ExecuteScalar 返回值问题
    JS“缺少标识符 字符串或数字”错误
    Access判断空字符串的SQL语句
    decimal与 float的区别
    按照特定的字符拆分字段
    php中heredoc与nowdoc的使用方法
    php 类接口继承练习
    委托
    关闭form前提示是否保存
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5527566.html
Copyright © 2011-2022 走看看