如何使用alt.js中的源成功请求后更新状态?

时间:2016-04-15 13:02:26

标签: javascript flux alt.js

我对alt.js相当新,并且有一个关于在成功处理程序中更新状态的问题。

假设我有一个UserStore并想要删除一个用户。 我使用应该删除的用户的id激活删除用户操作。源将id的删除请求发送到后端。请求有效,消息来源触发成功操作。

如何从成功操作处理程序中的StoreState中删除用户,因为我没有获得有关已发出请求的id或任何其他信息?

1 个答案:

答案 0 :(得分:1)

您可以使用interceptResponse function

所以,基本上,你应该在DataSource中有这样的结构:

deleteUser: {
   remote (state, id) {
      //Some backend call here
   },
   interceptResponse (data, action, args) {
      // Here you can access arguments, that were passed to the remote method 
      // via 'args' argument. What you return from this function will be passed
      // to further callbacks (success, error, etc.)

      return {data: data, id: args[0]};
   }
}

因此,在这种情况下,通过远程调用返回的数据,您还可以将原始ID传递给回调,并且可以从您的商店中删除该用户。