gpt4 book ai didi

angular - ngxs 异步操作的成功/失败操作事件的目的是什么?

转载 作者:行者123 更新时间:2023-12-05 06:28:20 24 4
gpt4 key购买 nike

ngxs 的示例应用程序通常会为每个异步操作分派(dispatch)离散的成功/失败操作。

例如:https://github.com/tommythongnguyen/Ngxs-Pizza-Order/blob/master/src/app/products/store/pizzas.state.ts#L45

对我来说,如果您想等待操作成功/失败,那么简单地观察调度更有意义。

在大多数情况下,您只关心失败,至于从存储中读回数据,我希望使用独立选择而不是查看操作流。

在处理故障方面,我认为通常是调度员会对处理故障感兴趣。

Stackblitz 展示了我的首选方法: https://stackblitz.com/edit/angular-ngxs-so-question

这种模式是否只是 flux/redux 的延续,其中分派(dispatch)不返回异步操作的句柄?还是这种方法有一些我没有看到的好处?

最佳答案

根据我迄今为止使用 NGXS 的经验,我们使用了您首选的方法,在某些情况下还使用了明确的成功/失败操作。

我们使用显式操作的地方通常是我们有一个状态想要响应另一个状态的变化。

例如有一个捕获一些公共(public)引用数据的状态,但我们只能在用户登录后加载它。我们发送一个 LoginSuccess 操作,并让 ReferenceDataState 响应该操作调用 API 并获取引用数据。

我们遇到的另一种情况是调用者想知道一些数据,例如由发起操作创建的实体的 ID。 Store 的 dispatch 函数返回一个返回类型为 void 的 Observable,因此我们可以使用成功操作来获取该结果值。

关于angular - ngxs 异步操作的成功/失败操作事件的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54425229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com