Ajax 如何使用AngularJS在所有应用程序上执行检查后端数据状态的服务
正如标题中提到的,我正在尝试创建一个Angular服务,它将像后端的Listener一样使用,它将检查后端是否完成了列表进程的计算,并返回尚未完成的内容。Ajax 如何使用AngularJS在所有应用程序上执行检查后端数据状态的服务,ajax,angularjs,angularjs-directive,angularjs-scope,angular-ui,Ajax,Angularjs,Angularjs Directive,Angularjs Scope,Angular Ui,正如标题中提到的,我正在尝试创建一个Angular服务,它将像后端的Listener一样使用,它将检查后端是否完成了列表进程的计算,并返回尚未完成的内容。 例如:当用户仍在应用程序界面上时,每5秒重新执行一次验证。这样做的部分困难在于让后端报告其计算的进度,但是,假设您已经计算出来,前端部分似乎相当简单 例如,您的服务可以使用向某个后端控制器发出重复请求,直到后端返回一个sentinel以表示其已完成计算 前端程序流程如下所示: 向后端发出请求 等待回应 成功接收响应时: 使用接收到的数据更
例如:当用户仍在应用程序界面上时,每5秒重新执行一次验证。这样做的部分困难在于让后端报告其计算的进度,但是,假设您已经计算出来,前端部分似乎相当简单 例如,您的服务可以使用向某个后端控制器发出重复请求,直到后端返回一个sentinel以表示其已完成计算 前端程序流程如下所示:
- 向后端发出请求
- 等待回应
- 成功接收响应时:
- 使用接收到的数据更新前端范围/变量/视图/任何内容
- 如果响应包含
哨兵,请停止发出请求已完成
- 如果响应不包含
sentinel,则重复此过程(延迟一段时间后)completed
我用一个非常简单的例子说明了我的意思。每隔三秒钟它就会向后端发出另一个请求(使用)。也许websocket是个更好的主意。它将避免您执行多个无用的请求来检查任务是否结束。实际上,我发现$interval允许我们这样做$interval只是一个包装器,它将每隔x毫秒执行一个函数。它确实会做你想做的事,但这可能不是最好的方式。