我在这些示例中显示了 javascript 中的轮询与长轮询,但是我不明白它们之间有何不同。特别是关于长轮询示例,它如何保持连接打开?
这是传统轮询场景的样子:
(function poll(){
setTimeout(function(){
$.ajax({ url: "server", success: function(data){
//Update your dashboard gauge
salesGauge.setValue(data.value);
//Setup the next poll recursively
poll();
}, dataType: "json"});
}, 30000);
})();
这是长轮询示例:
(function poll(){
$.ajax({ url: "server", success: function(data){
//Update your dashboard gauge
salesGauge.setValue(data.value);
}, dataType: "json", complete: poll, timeout: 30000 });
})();
谢谢!