@ ngrx / effects vs http服务的简单服务

时间:2017-12-19 13:25:34

标签: angular ngrx ngrx-store ngrx-effects ngrx-store-4.0

当您需要从http请求向应用程序添加数据时,我听到了它的良好做法:

  1. 发送一个动作,激活@Effect
  2. @Effecthttp请求中提取数据。
  3. 然后会触发另一个操作
  4. 然后最终更新商店。
  5. 这背后的基本原理是因为http调用是副作用,因此应该由@ngrx/effects库处理。

    这是好事吗?我发现这有问题,因为一旦调度第一个动作,我不知道它是成功还是失败。我知道的唯一方法是我的State有一个" hasErrorHappened"财产或类似的东西。我不相信拥有这样的财产是件好事

    或者它更好:

    1. 创建一个服务,执行http调用,获取数据
    2. 使用该数据在服务之后更新商店

1 个答案:

答案 0 :(得分:0)

是的,你会这样做的!

只需为错误处理添加另一个操作,即可完成3个操作。

实施例: ADD_TODO ADD_TODO_SUCCESS ADD_TODO_FAILED