zl程序教程

您现在的位置是:首页 >  其它

当前栏目

[RxJS] Utility operator: do

Rxjs Do Operator Utility
2023-09-14 08:59:19 时间

We just saw map which is a transformation operator. There are a couple of categories of operators, such as filtering, combination, flattening, etc. One of these categories is the utility operators. The most important utility operator is do, useful for debugging.

 

var foo = Rx.Observable.interval(200).take(4);

/*
foo: ---0---1---2---3--...
      do(x => console.log('before ' + x))
     ---0---1---2---3--...
       map(x => x * 2)
     ---0---2---4---6--...
      do(x => console.log('after ' + x))
     ---0---2---4---6--...
*/

var bar = foo
  .do(x => console.log('before ' + x))
  .map(x => x * 2)
  .do(x => console.log('after ' + x));

bar.subscribe(
  function (x) { console.log('next ' + x); },
  function (err) { console.log('error ' + err); },
  function () { console.log('done'); },
);