在没有ajax的情况下在后端进行轮询

时间:2016-11-16 03:23:31

标签: javascript php jquery angularjs zend-framework2

我目前正在开发一个在前端创建模板库的项目。这是使用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);
        } 
    }
    });  
}

这是我目前还不是真正的代码,只是为了让你了解这个想法。但它并不酷,所以我想换掉它。我不想在前端进行轮询,而是想在后端进行轮询。

我已经进行了研究并发现了以下内容:

  
      
  1. 在后端使用睡眠      
        
    • 这是一个好方法,还是会占用大量内存,因为我会调用一些模板。
    •   
  2.   
  3. 使用websocket      
        
    • 这很酷吗?
    •   
  4.   
  5. 您能想到的任何其他方法/建议吗?
  6.   

更新 我已更新此网址(http://image-generator.com/getImage),而不是返回json,我只是将其重定向到实际的图片网址。

谢谢, MadJoe

0 个答案:

没有答案