Javascript 实时后台服务
我现在正在使用ionic framework开发一个移动应用程序,它使用larvel 4 REST API对MySql数据库执行CRUD操作。根据应用需求,移动应用需要每次调用后端服务来完成一定的流程。 我使用Angular Resource调用这些API,并使用Javascript setinterval函数每隔3秒调用一次。然而,该应用程序正在运行,我并不认为这是一个好的做法,因为这对服务器和客户端来说都是一项繁重的任务。Javascript 实时后台服务,javascript,angularjs,laravel,ionic-framework,realtime-api,Javascript,Angularjs,Laravel,Ionic Framework,Realtime Api,我现在正在使用ionic framework开发一个移动应用程序,它使用larvel 4 REST API对MySql数据库执行CRUD操作。根据应用需求,移动应用需要每次调用后端服务来完成一定的流程。 我使用Angular Resource调用这些API,并使用Javascript setinterval函数每隔3秒调用一次。然而,该应用程序正在运行,我并不认为这是一个好的做法,因为这对服务器和客户端来说都是一项繁重的任务。 你们能指导我如何解决这种情况吗?我非常感谢你们的帮助。特别是,我应该
你们能指导我如何解决这种情况吗?我非常感谢你们的帮助。特别是,我应该设置哪种工具,它们是什么?谢谢。setInterval不是从API服务器/DB接收新数据的最佳做法,因为当太多用户访问您的网站时,服务器可能会被淹没。然而,有一个更漂亮的解决方案:
WebSockets
。使用WebSocket,您可以实时接收通知。我不是PHP开发人员,所以我不知道什么WebSocket库用于Laravel/PHP开发。但关于AngularJS,我可以推荐如下:
WebSocket示例(不相关):
希望这有帮助
干杯我认为在这两种情况下最好不要使用
setInterval
。它没有考虑请求的时间延迟。最好在成功和错误中调用setTimeout callbackshanks Andrei,这对我很有帮助,感谢您的回答。除了Laravel/PHP环境之外,还有哪些环境?你在用其中的一些吗?如果环境不是超硬的话,我可以改变它。Laravel/PHP环境很好。WebSockets是一个多平台/技术库。你用什么语言都没关系。尝试一些PHP WebSockets库,看看哪一个最适合。WebSockets只是一个简单的服务器,它在通知发生时发送通知,客户端(JS)侦听这些通知并根据响应执行一些操作。