我正在与Angular 6
一起开发NGRX 6.01
项目。
@Effect()
deleteRole$ = this.actions$.pipe(
ofType<DeleteRoleRequestedAction>(RoleActionTypes.DeleteRoleRequested),
mergeMap(action => this.rolesService.deleteRole(action.payload.id)),
map((response) => {
return new DeleteRoleSuccessAction({ id: response.id });
})
);
与上面的代码一样,我正在捕获用于删除效果中角色的API调用,以及使用mergeMap
来调用API服务以删除角色。之后,我使用map
返回已删除角色的ID。在此特定请求中,我不会获取已删除角色的ID。因此,我想做的是,成功删除角色后,我必须从DeleteRoleSuccessAction
的操作有效载荷中返回id
和RoleActionTypes.DeleteRoleRequested
。是否有任何方法可以在地图操作符中获取RoleActionTypes.DeleteRoleRequested
的操作有效载荷?
答案 0 :(得分:1)
只需通过deleteRole
运算符从您的map
调用中返回所需结果:
this.rolesService.deleteRole(action.payload.id)
.pipe(map(() => action.payload)