如何在所有应用程序使用时执行检查后端数据状态的服务 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).
就像标题中提到的那样,我正在尝试创建一个 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).