6

我有一个异步 ngxs 操作throwsError()

我希望默认错误处理机制忽略这个抛出的错误,因为我将在我的代码中通过ofActionErrored(). 但是,对于其他操作,仍应进行默认错误处理。

现在,ofActionErrored()错误处理和默认错误处理(通过 Angular/Ionic)都试图处理错误。

我能想到的替代方法是从最初分派的动作中分派 Xxx_SUCCESS 和 Xxx_ERROR 动作,如果我能提供帮助,我想避免这种情况。

建议表示赞赏。

4

2 回答 2

2

在 NGXS 存储库中有一个功能请求引起了类似的关注。我们已经在核心团队会议上进行了讨论,我们将在下一个版本中重点关注这一点。您可以在那里提供您的反馈:https ://github.com/ngxs/store/issues/1691

于 2020-11-13T10:52:48.780 回答
1

您可以使用 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'}
    });
  }
});
于 2020-11-26T10:48:44.450 回答