如何在所有应用程序使用时执行检查后端数据状态的服务 AngularJS

How to execute a service that check the status of backend data at all application use AngularJS

就像标题中提到的那样,我正在尝试创建一个 Angular 服务,它将像后端的侦听器一样使用,它将检查后端是否完成了列表进程的计算并且 return 什么还没有完成。 例如:当用户还在应用界面时,每5秒重新执行一次验证。

这样做的部分困难在于让您的后端报告其计算进度,但是,假设您已经弄明白了,前端部分似乎相当简单。

您的服务可以,例如,使用 $http service 向某些后端控制器发出重复请求,直到后端 returns 一个哨兵表明它已完成计算。

前端程序流程是这样的:

  • 向后端发出请求
  • 等待回复
  • 成功收到响应时:
    • 用收到的数据更新前端scope/vars/view/whatever
    • 如果响应包含completed sentinel,停止发出请求
    • 如果响应包含completed sentinel,重复这个过程(延迟一段时间后)

我做了一个JSFiddle with a very simple example of what I mean. Every three seconds it makes another request to the backend (using the $timeout service).