我对Angular 2和RxJS相对较新,我对如何设置一个可观察对象有疑问。我有一个提供身份验证的REST HTTP API,其中很大一部分是如果REST调用之间发生超时,则用户未经过身份验证。
在客户端上,我想为REST HTTP调用创建一个Observable(本质上是一个Angular 2服务)。这与计时器有关。只要在超时内发生另一个REST HTTP调用,logged_in值就会保持为true。如果超时到期,则logged_in值变为false。所以我需要的是REST HTTP调用重置计时器以便重新启动的方法。
任何想法,建议或指示都将不胜感激!
谢谢, 道格
答案 0 :(得分:0)
作为一般模式的问题,您可以将ngrx/store用于集中式应用程序状态管理(状态,操作,缩减器)与ngrx/effects一起用于处理"副作用& #34;就像REST-API调用一样。
官员"示例应用可在此处找到:ngrx/example-app
如果您打算使用反应(功能)方法构建复杂的Angular 2应用程序,那么一般值得探索。
具体到你的情况,在
之间State
的一部分,你应该有一个很好的框架来解决管理登录状态。然后,您的服务/组件可以使用可观察的存储状态切片来响应状态更改。然后你可以使用所有强大的RxJs运算符来映射,组合等。
因此,添加其他方面,例如与"超时"相关的触发操作。或者重试可以添加到事件的基本流程中。