首页 > 解决方案 > rxjs 6中的mergeMap服务

问题描述

我正在尝试根据一些模板从 angular 5 升级到 6

方法之一以这种方式返回mergeMap

return this.accountEndpoint.getUserByUserNameEndpoint<User>(userOrUserId.userName)
                    .mergeMap(user => this.deleteUser(user.id));

和其他一些以这种方式返回

 this.accountEndpoint.getDeleteUserEndpoint<User>(<string>userOrUserId)
                 .do(data => this.onRolesUserCountChanged(data.roles));

不幸的是,rxjs 6 中的 observable 上不存在 mergeMap 和 do

能给我一个提示,这应该如何映射到 rxjs 6 的新世界中?

标签: angularrxjsangular6rxjs6

解决方案


do操作符被重命名为tap mergeMap在 RxJs 6 中仍然存在:

import { tap, mergeMap } from 'rxjs/operators'

sourceObservable.pipe(
  tap(e => ...),
  mergeMap(e => ...)
)

推荐阅读