Skip to content

Latest commit

 

History

History
103 lines (86 loc) · 3.59 KB

do.md

File metadata and controls

103 lines (86 loc) · 3.59 KB

Rx.Observable.prototype.do([observer] | [onNext], [onError], [onCompleted])

Rx.Observable.prototype.tap([observer] | [onNext], [onError], [onCompleted])

Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence.

This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.

There is an alias to this method doAction for browsers <IE9 and tap as well.

Arguments

  1. [observer] (Observer): An observer to invoke for each element in the observable sequence.
  2. [onNext] (Function): Function to invoke for each element in the observable sequence.
  3. [onError] (Function): Function to invoke upon exceptional termination of the observable sequence. Used if only the first parameter is also a function.
  4. [oncompleted] (Function): Function to invoke upon graceful termination of the observable sequence. Used if only the first parameter is also a function.

Returns

(Observable): The source sequence with the side-effecting behavior applied.

Example

/* Using a function */
var source = Rx.Observable.range(0, 3)
  .do(
    function (x)   { console.log('Do Next:', x); },
    function (err) { console.log('Do Error:', err); },
    function ()    { console.log('Do Completed'); }
  );

var subscription = source.subscribe(
  function (x) {
    console.log('Next: %s', x);
  },
  function (err) {
    console.log('Error: %s', err);
  },
  function () {
    console.log('Completed');
  });

// => Do Next: 0
// => Next: 0
// => Do Next: 1
// => Next: 1
// => Do Next: 2
// => Next: 2
// => Do Completed
// => Completed

/* Using an observer */
var observer = Rx.Observer.create(
  function (x) { console.log('Do Next: %s', x); },
  function (err) { console.log('Do Error: %s', err); },
  function () { console.log('Do Completed'); }
);

var source = Rx.Observable.range(0, 3)
    .do(observer);

var subscription = source.subscribe(
  function (x) {
    console.log('Next: %s', x);
  },
  function (err) {
    console.log('Error: %s', err);
  },
  function () {
    console.log('Completed');
  });

// => Do Next: 0
// => Next: 0
// => Do Next: 1
// => Next: 1
// => Do Next: 2
// => Next: 2
// => Do Completed
// => Completed

Location

File:

Dist:

NPM Packages:

NuGet Packages:

Unit Tests: