我目前正在开发一个在前端创建模板库的项目。这是使用ajax轮询。我们每隔(n)秒调用此网址(http://image-generator.com/getImage?template=2342)如果图片已经可用,我们会获取图片网址,我们等待(n)秒并重复此过程。
function getPreview(url, params) {
$.ajax({
url : 'http://image-generator.com/getImage',
data : params, // {template_id : 1234}
success : function(data) {
if(data.success) {
$('<img />').attr('src', data.src).appendTo('#somecontainer');
} else {
// on queue
setTimeout(function() {
getPreview(data.url, data.params);
}, 3000);
}
}
});
}
这是我目前还不是真正的代码,只是为了让你了解这个想法。但它并不酷,所以我想换掉它。我不想在前端进行轮询,而是想在后端进行轮询。
我已经进行了研究并发现了以下内容:
- 在后端使用睡眠
- 这是一个好方法,还是会占用大量内存,因为我会调用一些模板。
- 使用websocket
- 这很酷吗?
- 您能想到的任何其他方法/建议吗?
醇>
更新 我已更新此网址(http://image-generator.com/getImage),而不是返回json,我只是将其重定向到实际的图片网址。
谢谢, MadJoe