Javascript JS AJAX-从服务器返回多个异步JSON对象?

Javascript JS AJAX-从服务器返回多个异步JSON对象?,javascript,ajax,asynchronous,Javascript,Ajax,Asynchronous,注意:这不是重复的-它是关于异步返回的 我很怀疑这是否会有任何进展,但它可能会有用,所以我想知道是否有一些答案 我向我的服务器(PHP)发送帖子。。。作为响应,我的PHP连续执行几个MySQL查询,并从每个查询中获得一些结果。目前,我正在将所有这些结果打包为一个JSON对象,并进行回显,显然,我必须等到所有这些语句都执行完毕,才能返回所有结果 但是我希望将这些结果作为几个JSON连续发送回去,也就是说,随着查询结果的交付。AJAX机制似乎只能处理一批返回的文本(JSON或纯文本或其他),然后就结

注意:这不是重复的-它是关于异步返回的

我很怀疑这是否会有任何进展,但它可能会有用,所以我想知道是否有一些答案

我向我的服务器(PHP)发送帖子。。。作为响应,我的PHP连续执行几个MySQL查询,并从每个查询中获得一些结果。目前,我正在将所有这些结果打包为一个JSON对象,并进行回显,显然,我必须等到所有这些语句都执行完毕,才能返回所有结果

但是我希望将这些结果作为几个JSON连续发送回去,也就是说,随着查询结果的交付。AJAX机制似乎只能处理一批返回的文本(JSON或纯文本或其他),然后就结束了。但是,如果服务器和客户端之间的通信线路能够“保持开放”,那就太好了

在Java世界中有一些类似的东西:
SwingWorker
,它能够将对象的“块”从非事件调度线程“发布”到EDT:实际上,一个线程和另一个线程之间的“虫洞”保持打开,这非常有用


在JS世界中,一次发送所有结果的唯一替代策略是执行多个AJAX调用。。。在这种情况下,如果一个SQL查询依赖于前一个SQL查询的结果,则可能会对性能造成很大影响。

服务器无法为客户端启动响应,除非它是会话

因此,您可以通过RTC连接客户端和服务器,然后订阅所有需要的事件


别无选择

你到底在问什么?这可以理解为你的问题的大脑转储,没有可回答的问题。听起来你想将中间结果存储在内存缓存中,并在缓存结果的过程中定期轮询PHP文件以获取更新。@ChantryCargill谢谢,是的,轮询是一种可能。我想我只是想知道是否可能有更优雅的东西。要继续Java比较,您可以将非EDT进程的所有结果放入一个文件中,并从EDT进行轮询。。。该死!SwingWorker好多了!嘿,非常感谢。这很有希望。我从来没有听说过RTC,因此你给了我一些东西让我去调查。@Mik(没问题)