0

我对 alt.js 相当陌生,并且对更新成功处理程序中的状态有疑问。

假设我有一个 UserStore 并且想要删除一个用户。我使用应该删除的用户触发删除用户操作idid源向后端发送一个删除请求。该请求有效,并且源触发了成功操作。

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

4

1 回答 1

1

您可以使用interceptResponse 功能

所以,基本上,你应该在你的数据源中有一些这样的结构:

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 传递给回调,并能够从您的商店中删除用户。

于 2016-04-20T11:06:19.140 回答