从 do() 转换为 tap() 从 Angular 2 到 Angular 6

Converting from do() to tap() from Angular 2 to Angular 6

我正在尝试使用 Kendo Grid

Angular 6 中为网格实施服务器端分页

下面的代码来自Angular 2,我从下面的网站

https://www.c-sharpcorner.com/article/server-side-paging-in-kendo-grid-for-angular-2/

public ngAfterViewInit(): void {  
  this.grid.dataStateChange  
      .do(({ skip, take }: DataStateChangeEvent) => {  
          this.skip = skip;  
          this.pageSize = take;  
      })  
      .subscribe(x => this.service.query(x));  
}

因为我使用的是 Angular 6,所以在上面的代码中需要 tap 而不是 do

目前我正在为 do 发红,错误如下所示

Property 'do' does not exist on type 'EventEmitter<DataStateChangeEvent>'

这里如何使用tap将其转换成可用的代码?

出于 tree shaking 的目的,RxJS 将其语法从 6.0 向上更改。

public ngAfterViewInit(): void {  
  this.grid.dataStateChange
      .pipe(
          tap(({ skip, take }: DataStateChangeEvent) => {  
              this.skip = skip;  
              this.pageSize = take;  
          })
      ) 
      .subscribe(x => this.service.query(x));  
}