Как переписать этот @effect для вызова удаления API, не возвращающего сущность?
Проблема в том, что api.deleteUser
возвращает ноль (статус 204), поэтому пользователь теряется. Как передать пользователя (который является action.payload
) чтобы DeleteUserSuccess(user)
?
@Effect()
public deleteUser$: Observable<Action> = this._actions$
.ofType(DELETE_USER_PENDING)
.pipe(
switchMap((action: IAction<User>) =>
this.api.deleteUser((action.payload as User).id)),
map((user: User) => new DeleteUserSuccess(user)),
catchError((err: Error, caught: Observable<Action>) => {
console.log(err);
return caught;
})
);
1 ответ
Я нашел решение
@Effect()
public deleteUser$: Observable<Action> = this._actions$
.ofType(DELETE_USER_PENDING)
.pipe(
switchMap((action: IAction<User>) =>
this.api.deleteUser((action.payload as User).id).
map(() => new DeleteUserSuccess(action.payload as User))),
// map((user: User) => new DeleteUserSuccess(user)),
catchError((err: Error, caught: Observable<Action>) => {
// tslint:disable-next-line
console.log(err);
return caught;
})
);