Javascript 防止多个Ajax更新

Javascript 防止多个Ajax更新,javascript,ajax,ably-realtime,Javascript,Ajax,Ably Realtime,我们有一个实时显示事件的web日历客户端。每当服务器上有更新时,我们都会使用实时通知客户机需要从服务器请求更新。然后,客户端使用Ajax调用从服务器获取更新的信息 问题是有多个更新发生,有时在旧的Ajax调用完成之前会启动一个新的Ajax调用。问题是我们如何让第二个Ajax调用仅在第一个调用完成后执行 示例代码: channel.subscribe(function(message) { $.ajax({...}) }); 一位能干的工程师 现在发生的事情是,您的AJAX调用可能会占用任何时间

我们有一个实时显示事件的web日历客户端。每当服务器上有更新时,我们都会使用实时通知客户机需要从服务器请求更新。然后,客户端使用Ajax调用从服务器获取更新的信息

问题是有多个更新发生,有时在旧的Ajax调用完成之前会启动一个新的Ajax调用。问题是我们如何让第二个Ajax调用仅在第一个调用完成后执行

示例代码:

channel.subscribe(function(message) { $.ajax({...}) });
一位能干的工程师

现在发生的事情是,您的AJAX调用可能会占用任何时间,并且您可能会在该窗口内收到更多消息,而这些较新的调用可能会更快地完成

我们不能使您的Ajax调用同步,但您可以。当来自Ably的消息到达时,您可以做的是将更新调用添加到列表中,并使用一个函数按顺序逐个使用这些更新,而不是简单地触发它们。

这里的Ably工程师

现在发生的事情是,您的AJAX调用可能会占用任何时间,并且您可能会在该窗口内收到更多消息,而这些较新的调用可能会更快地完成


我们不能使您的Ajax调用同步,但您可以。您可以做的是将更新调用添加到列表中,并使用一个函数按顺序逐个使用这些更新,而不是在消息到达时触发它们。

请参阅此add ajax req。顺便说一句,我是Ably的开发倡导者。出于兴趣,为什么不保持日历客户端和服务器之间的连接始终保持打开状态(通过),这样一来,邮件排序就不会有问题了?更新是否不够频繁?连接始终处于打开状态。但是,我们正在维护一个现有的系统,我们无法更改该系统,其中事件信息是通过ajax获得的。因此,我们尝试做的不是客户端轮询服务器以查看是否有更改,而是让服务器在有更改时向客户端推送一个操作调用,然后客户端发出ajax请求以获取新数据。请参阅此add ajax req。顺便说一句,我是Ably的开发倡导者。出于兴趣,为什么不保持日历客户端和服务器之间的连接始终保持打开状态(通过),这样一来,邮件排序就不会有问题了?更新是否不够频繁?连接始终处于打开状态。但是,我们正在维护一个现有的系统,我们无法更改该系统,其中事件信息是通过ajax获得的。因此,我们尝试做的不是客户端轮询服务器以查看是否有更改,而是让服务器在有更改时向客户端推送操作调用,然后客户端发出ajax请求以获取新数据。