Effect 发出了无效操作 - 操作必须是对象
2019-11-14
823
当我添加
.map(...)
通知服务和 CLOSE 对话框函数时,我收到错误。
设置它的正确方法是什么? 这是我的效果
@Effect()
addNewUser$ = this.actions$.pipe(
ofType(actions.UserActionTypes.addNewUser),
mergeMap((user: actions.addNewUser) =>
this.userService.createUser(user.user).pipe(
map(() => {
new actions.LoadUsers(),
this.notificationService.success("User added successfully!"); <--- added
this.dialogRef.closeAll(); <--- added
}),
catchError(error => of(new actions.Error(error.error)))
)
)
);
我收到错误
core.js:6014 ERROR Error: Effect "UserEffects.addNewUser$" dispatched an invalid action: undefined
TypeError: Actions must be objects
有什么帮助吗?谢谢
1个回答
如错误所示,您应该返回一个操作。
map
没有返回值,因此它将返回
undefined
- 从而导致错误。
尝试以下操作:
this.notificationService.success("User added successfully!"); <--- added
this.dialogRef.closeAll(); <--- added
return new actions.LoadUsers();
timdeschryver
2019-11-14