Javascript 处理web套接字异步请求时保持数据最新的最佳方法
在处理web套接字异步请求时,我正在寻找使数据保持最新的最佳方法,特别是包含Javascript 处理web套接字异步请求时保持数据最新的最佳方法,javascript,php,jquery,laravel,laravel-7,Javascript,Php,Jquery,Laravel,Laravel 7,在处理web套接字异步请求时,我正在寻找使数据保持最新的最佳方法,特别是包含时间信息的数据 我有一个仪表板,当我记录/按下feed时,我将nextFeed time更新为feedingInterval+当前记录的时间 feedingInterval=2小时 我以前做表单提交和页面刷新 此外,我还经常每隔1分钟执行location.reload(),以便在我的用户打开连接到电视的机器上的链接时,使我的下一次进纸时间保持最新 下一个进货时间总是最新的,最坏的情况是有一百万个延迟 全国妇女组织 增强
时间
信息的数据
我有一个仪表板,当我记录/按下feed
时,我将nextFeed time更新为feedingInterval
+当前记录的时间
feedingInterval=2小时
我以前做表单提交和页面刷新
此外,我还经常每隔1
分钟执行location.reload()
,以便在我的用户打开连接到电视的机器上的链接时,使我的下一次进纸时间保持最新
下一个进货时间总是最新的,最坏的情况是有一百万个延迟
全国妇女组织 增强用户体验: 我不再使用表单提交,所以没有页面刷新,我使用Ajax POST到web套接字路由向我的所有设备广播。当我从Pusher Cloud收到任何推送通知时,我会在所有设备上动态更新DOM live
问题 我过去每1分钟刷新一次页面,因为我不再做(
location.reload();
)了。我的喂食时间将变得过时(不是最新的)
当前解决方案:
我创建了一个API来获取nextFeed时间,每5秒调用一次,每5秒更新一次DOM。我注意到我的浏览器看起来很热,可能是因为一分钟内有太多的请求
那么你可能会说/想。。。那就每分钟打一次电话
但是。。。如果我每1
分钟打一次电话,那么我的用户就不会有最新的信息,这就违背了我最初使用websocket的目的
我应该怎么做才能拥有最好的用户体验,但又不会太牺牲我的性能
老实说,当你每5秒推送一次更新时,“你的浏览器变得热起来”听起来很奇怪,我用laravel构建了一个聊天应用程序,它每秒钟更新一次,而不是每5次,而且工作正常。我建议你检查一下你的Pusher API实现,有些地方听起来不对劲。