2016-11-02 29 views
0

我是比较新的角度2和RxJS,和我有一个关于如何建立一个可观察的问题。我有一个提供身份验证的REST HTTP API,其中很大一部分是如果在REST调用之间发生超时,则用户未经身份验证。RxJS认证超时

在我想创建一个可观测的REST HTTP调用(本质上是一个角2服务)客户端。这是绑定到一个计时器。只要在超时内发生另一个REST HTTP调用,logged_in值就会保持为真。如果超时过期,则logged_in值将变为false。所以我需要的是一种REST HTTP调用重置计时器的方式,以便它重新启动。

任何想法,建议或指针将不胜感激!

感谢, 道格

回答

0

由于一般模式的问题,你可能会使用ngrx/store用于联合集中的应用程序状态管理(状态,动作,减速机)与ngrx/effects是对付“副作用”之类受益REST-API调用。

“正式”的示例应用程序可以在这里找到:ngrx/example-app

,如果你打算建立具有反应性(功能)方法复杂的角2级的应用程序,是值得探讨的一般。

具体到你的情况,

之间
  • State,抓住你的登录状态的一个切片,
  • 行动相关的出发登录,登录成功行动,登录失败的行动,并
  • 效果包装API调用进行身份验证,并由启动登录操作触发

,你应该有一个适当的良好框架来解决管理登录状态。然后,您的服务/组件可以使用商店状态切片的可观察性来响应状态更改。然后你可以使用所有的功能强大的RxJs运营商来图,来撰写等

在其他方面那么将触发一样涉及到“超时”的行为或重试可以被添加到事件的基本流程。

+0

感谢您的反馈,我会看看ngrx/store并尝试着手解决这个问题。 –