【发布时间】:2020-06-27 14:01:52
【问题描述】:
我们有一个实时显示事件的网络日历客户端。每当服务器上有更新时,我们使用 Ably Realtime 通知客户端它需要从服务器请求更新。然后客户端使用 Ajax 调用从服务器获取更新的信息。
问题是发生了多次更新,有时在旧的 Ajax 调用完成之前就开始了新的 Ajax 调用。问题是我们如何在第一个 Ajax 调用完成后才执行第二个 Ajax 调用。
示例代码:
channel.subscribe(function(message) { $.ajax({...}) });
【问题讨论】:
-
查看此添加 ajax 请求。在一个阙 stackoverflow.com/a/31149750/9641914
-
嗨,我是 Ably 的开发倡导者。出于兴趣,您为什么不保持日历客户端和服务器之间的连接始终打开(通过 Ably),这样一开始消息排序就没有问题?更新不够频繁?
-
连接始终打开。然而,我们正在维护一个我们无法更改的现有系统,其中事件信息是通过 ajax 获取的。因此,我们要做的不是客户端轮询服务器以查看是否有更改,而是让服务器在有更改时向客户端推送操作调用,然后客户端发出 ajax 请求以获取新数据。
标签: javascript ajax ably-realtime