RxJS - 实用操作符 tap

此操作符的输出与源可观察对象相同,可用于将值从可观察对象记录给用户。主要值、错误(如果有)或任务是否完成。

语法

tap(observer, error, complete):Observable

参数

observer −(可选)这与源可观察对象相同。

error −(可选)如果发生任何错误,则使用错误方法。

complete − (可选)任务完成时将调用 complete() 方法。

返回值

它返回一个与源可观察对象相同的可观察对象,但带有回调函数。

示例

import { of } from 'rxjs';
import { tap, filter } from 'rxjs/operators';

let list1 = of(1, 2, 3, 4, 5, 6);
let final_val = list1.pipe(
   tap(x => console.log("From tap() =" + x),
      e => console.log(e),
      () => console.log("Task complete")),
   filter(a => a % 2 === 0)
);
final_val.subscribe(x => console.log("Only Even numbers=" + x));

输出

tap Operator