1

Long-Polling 和 setTimeout 之间有什么区别我发现这是用于长轮询,但它与 setTimeout 没有任何区别。

(function poll(){
    $.ajax({ url: "server", success: function(data){
        //Update your dashboard gauge
        salesGauge.setValue(data.value);

    }, dataType: "json", complete: poll, timeout: 30000 });
})();
4

1 回答 1

0

我猜你的代码所做的是正常的轮询。

长轮询使客户端请求保持打开状态,直到有新数据要发送给客户端。维基百科充其量是这样描述的:

使用长轮询时,客户端向服务器请求信息的方式与正常轮询完全相同,只是它以更慢的频率发出其 HTTP/S 请求(轮询)。如果服务器在收到轮询时没有任何信息可供客户端使用,则服务器不会发送空响应,而是保持请求打开并等待响应信息可用。一旦完成,服务器立即向客户端发送 HTTP/S 响应,完成打开的 HTTP/S 请求。以这种方式,通常与轮询客户端相关的响应延迟(信息首次可用与下一个客户端请求之间的时间)被消除。

于 2014-01-23T14:39:43.760 回答