You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.1 KiB
51 lines
2.1 KiB
"use strict"; |
|
var tap_1 = require('../operators/tap'); |
|
/* tslint:enable:max-line-length */ |
|
/** |
|
* Perform a side effect for every emission on the source Observable, but return |
|
* an Observable that is identical to the source. |
|
* |
|
* <span class="informal">Intercepts each emission on the source and runs a |
|
* function, but returns an output which is identical to the source as long as errors don't occur.</span> |
|
* |
|
* <img src="./img/do.png" width="100%"> |
|
* |
|
* Returns a mirrored Observable of the source Observable, but modified so that |
|
* the provided Observer is called to perform a side effect for every value, |
|
* error, and completion emitted by the source. Any errors that are thrown in |
|
* the aforementioned Observer or handlers are safely sent down the error path |
|
* of the output Observable. |
|
* |
|
* This operator is useful for debugging your Observables for the correct values |
|
* or performing other side effects. |
|
* |
|
* Note: this is different to a `subscribe` on the Observable. If the Observable |
|
* returned by `do` is not subscribed, the side effects specified by the |
|
* Observer will never happen. `do` therefore simply spies on existing |
|
* execution, it does not trigger an execution to happen like `subscribe` does. |
|
* |
|
* @example <caption>Map every click to the clientX position of that click, while also logging the click event</caption> |
|
* var clicks = Rx.Observable.fromEvent(document, 'click'); |
|
* var positions = clicks |
|
* .do(ev => console.log(ev)) |
|
* .map(ev => ev.clientX); |
|
* positions.subscribe(x => console.log(x)); |
|
* |
|
* @see {@link map} |
|
* @see {@link subscribe} |
|
* |
|
* @param {Observer|function} [nextOrObserver] A normal Observer object or a |
|
* callback for `next`. |
|
* @param {function} [error] Callback for errors in the source. |
|
* @param {function} [complete] Callback for the completion of the source. |
|
* @return {Observable} An Observable identical to the source, but runs the |
|
* specified Observer or callback(s) for each item. |
|
* @method do |
|
* @name do |
|
* @owner Observable |
|
*/ |
|
function _do(nextOrObserver, error, complete) { |
|
return tap_1.tap(nextOrObserver, error, complete)(this); |
|
} |
|
exports._do = _do; |
|
//# sourceMappingURL=do.js.map
|