RxJS身份验证超时

时间:2016-11-02 17:37:39

标签: angular typescript rxjs observable

我对Angular 2和RxJS相对较新,我对如何设置一个可观察对象有疑问。我有一个提供身份验证的REST HTTP API,其中很大一部分是如果REST调用之间发生超时,则用户未经过身份验证。

在客户端上,我想为REST HTTP调用创建一个Observable(本质上是一个Angular 2服务)。这与计时器有关。只要在超时内发生另一个REST HTTP调用,logged_in值就会保持为true。如果超时到期,则logged_in值变为false。所以我需要的是REST HTTP调用重置计时器以便重新启动的方法。

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

谢谢, 道格

1 个答案:

答案 0 :(得分:0)

作为一般模式的问题,您可以将ngrx/store用于集中式应用程序状态管理(状态,操作,缩减器)与ngrx/effects一起用于处理"副作用& #34;就像REST-API调用一样。

官员"示例应用可在此处找到:ngrx/example-app

如果您打算使用反应(功能)方法构建复杂的Angular 2应用程序,那么一般值得探索。

具体到你的情况,在

之间
  • 用于捕获您的登录状态的商店 State的一部分,
  • 操作相关的开始登录,登录成功操作,登录失败操作和
  • 包含API调用以进行身份​​验证的效果,由启动登录操作触发

你应该有一个很好的框架来解决管理登录状态。然后,您的服务/组件可以使用可观察的存储状态切片来响应状态更改。然后你可以使用所有强大的RxJs运算符来映射,组合等。

因此,添加其他方面,例如与"超时"相关的触发操作。或者重试可以添加到事件的基本流程中。

相关问题