使用 NGXS,在调用本地状态之前调用后端的推荐方式是什么

With NGXS, what is the recommended way of calling the backend before calling the local state

我正在启动一个新的 angular 应用程序并为团队进行设置。 我想知道一件事:您将访问后端的逻辑放在哪里?

在我的(第一个)案例中,关于 accounts/auth,我需要存储,username/email/accessToken,通常每次收到令牌时,我想启动一个计时器来刷新访问令牌过期前。

经过一些研究,我发现有些人建议在我所在州的操作处理程序中调用 API。但老实说,这感觉有点像混合不同的责任,而且由于这将是一个相当大的应用程序,我有点担心我们最终会得到一个巨大的状态 class。同样在这种情况下,当我收到我的令牌时,我需要一个计时器来刷新它。我更多的是将 NGXS 作为一个库来对我的状态应用突变并传播变化,而不是应该对这种逻辑负责的东西(我可能错了?)

那么,是否有推荐的使用 NGXS 执行此操作的方法?我们是否应该调用执行 API 调用的服务然后分派操作?

我认为 NGXS with Facade 设计模式在这种情况下很有帮助,它可以:

  • Improve the readability and usability of a software library by masking interaction with more complex components behind a single (and often simplified) API;
  • Provide a context-specific interface to more generic functionality (complete with context-specific input validation);
  • Serve as a launching point for a broader refactor of monolithic or tightly-coupled systems in favor of more loosely-coupled code.

您可以在此处阅读有关 NGXS Facade 的更多信息:

https://medium.com/ngxs/ngxs-facade-3aa90c41497b