我正在构建一个Grails应用程序,它可以通过Web查询多个API。问题是这个查询非常耗时,而且用户点击一个按钮并等待很长时间,而页面没有任何变化,这实在令人讨厌。Grails:服务器到客户端通知
我的应用程序的基本结构是,当用户点击该按钮时,客户端执行与Prototype库Ajax请求到服务器侧。然后,服务器端连接到Last.fm API并检索事件列表。当服务器端完成使用事件填充列表时,它向客户端发送JSON响应,允许客户端为Google地图上的每个事件创建标记。
我想要实现的是,服务器端在检索到一个事件后立即发送JSON响应,而不是等待所有从API检索到的事件发送JSON响应,从而允许客户端填充地图,而其他事件尚未被检索。
任何想法如何实现这一点?我阅读了关于Ajax Push的概念,但我不确定它是否是我需要的。 感谢您的帮助!
谢谢,我想我知道你的意思,但我不能找到如何实现这个AJAX任何例子保持活着的原型。你能指出一些例子吗? –
我不知道原型的细节,但可以简单地启动一个“事件监听”请求,并使用一些监视器对象让Grails线程处理请求进入睡眠状态。现在一旦某个事件由其他线程引发,您可以通知该监视器对象并完成“事件监听”请求。然后,您可以发送来自客户端的另一个侦听请求。那有意义吗? – fabiangebert
不是。我在多线程方面的经验很少,所以我很难理解这些概念,不过谢谢。我正在测试另一种基于Ajax推入Atmosphere插件的方法。 –