1

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

问题是发生了多次更新,有时在旧的 Ajax 调用完成之前就开始了新的 Ajax 调用。问题是我们如何在第一个 Ajax 调用完成后才执行第二个 Ajax 调用。

示例代码:

channel.subscribe(function(message) { $.ajax({...}) });
4

1 回答 1

0

这里是一位精明的工程师,

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

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

于 2021-06-09T16:56:49.390 回答