Javascript 远程定期更新每个extjs网格行

Javascript 远程定期更新每个extjs网格行,javascript,ajax,loops,extjs,extjs3,Javascript,Ajax,Loops,Extjs,Extjs3,该任务的目标是从后端更新每行内容。这意味着对PHP的ajax请求 该表最初会加载basevalues,并且需要定期将新的、更新的数据加载到每一行中 制作一个每分钟运行一次的ExtJs任务,store。每个将检查所有记录,获取参数id,一旦ajax成功,记录将被更新并提交。 然而,这种方法有一个缺陷——如果有超过几行,发送50或100个即时请求将在大多数情况下超时 同时获取所有数据并刷新整个网格不是一个选项—计算每行的所有数据将超过请求时间限制(~30秒),因此需要单独请求每行数据—但不能同时进行

该任务的目标是从后端更新每行内容。这意味着对PHP的ajax请求

该表最初会加载basevalues,并且需要定期将新的、更新的数据加载到每一行中

制作一个每分钟运行一次的ExtJs任务,
store。每个
将检查所有记录,获取参数id,一旦ajax成功,记录将被更新并提交。
然而,这种方法有一个缺陷——如果有超过几行,发送50或100个即时请求将在大多数情况下超时

同时获取所有数据并刷新整个网格不是一个选项—计算每行的所有数据将超过请求时间限制(~30秒),因此需要单独请求每行数据—但不能同时进行

在ext中有什么好方法可以实现这一点吗

更新:


我设法在store.each循环中使用setTimeout作为ajax查询的延迟。每5次迭代,延迟就会增加—因此,当下一个任务完成并循环所有结果时,它们每5秒执行5次—并在任务再次运行时再次启动。

最好向服务器发送请求,只获取项目的变更集,并用变更的项目替换旧项目


如果您不想重新加载整个存储,唯一的变体是逐个发送请求,或者将请求打包并逐个包刷新

在那种情况下,请求所有记录是行不通的。如果网格中有一些,这很好,但是50-100会花费太长时间——所需的数学、查询等需要几秒钟。因此,最终可能需要几分钟的时间才能返回超过30秒限制的结果。如上所述,更好的方法是只从服务器接收更改的记录。实施起来容易吗?或者,即使行不变,您也需要进行计算?我通常在数据库中有一个名为“updated_at”的列,只能获取在特定日期时间之后更改的记录。您可以使用分页。这样可以限制显示(处理)的结果,并且可以安全地更新所有结果。