我有一个异步 ngxs 操作throwsError()
。
我希望默认错误处理机制忽略这个抛出的错误,因为我将在我的代码中通过ofActionErrored()
. 但是,对于其他操作,仍应进行默认错误处理。
现在,ofActionErrored()
错误处理和默认错误处理(通过 Angular/Ionic)都试图处理错误。
我能想到的替代方法是从最初分派的动作中分派 Xxx_SUCCESS 和 Xxx_ERROR 动作,如果我能提供帮助,我想避免这种情况。
建议表示赞赏。
我有一个异步 ngxs 操作throwsError()
。
我希望默认错误处理机制忽略这个抛出的错误,因为我将在我的代码中通过ofActionErrored()
. 但是,对于其他操作,仍应进行默认错误处理。
现在,ofActionErrored()
错误处理和默认错误处理(通过 Angular/Ionic)都试图处理错误。
我能想到的替代方法是从最初分派的动作中分派 Xxx_SUCCESS 和 Xxx_ERROR 动作,如果我能提供帮助,我想避免这种情况。
建议表示赞赏。
在 NGXS 存储库中有一个功能请求引起了类似的关注。我们已经在核心团队会议上进行了讨论,我们将在下一个版本中重点关注这一点。您可以在那里提供您的反馈:https ://github.com/ngxs/store/issues/1691
您可以使用 ofActionCompleted ,因此可以提供错误(如果有)。取自我正在处理的代码的示例:
this.actions$.pipe(
ofActionCompleted(GetMe)
).subscribe((data) => {
const errorStatus = data.result.error['status'];
if (!data.result.successful && errorStatus === 403) {
this.snackbar.openFromComponent(TranslateSnakeBarComponent, {
data: {message: 'USER_DISABLED'}
});
}
});