1

私はJavascriptでポーリングを使用してajaxで情報を取得していますが、まったく同じ時間間隔で取得しています。

intervalRequestId = setInterval('loadInfo()', 2500);

情報がさまざまな時間間隔で入ってくることがわかったので、さまざまな時間間隔でポーリングを行いたいと思います。例えば:

最初のリクエスト: 2 秒後 - > 非常に重要で、2 秒後です! 2 番目のリクエスト: 7 秒後 3 番目のリクエスト 15 秒後 4 番目のリクエスト 25 秒後

良い可能性はありますか?

4

1 に答える 1

1
(function(){
var iteration = 0, // keep track of your iterations
    delays = [7000, 15000, 25000], // delays between iterations
    callback; // wrapper for your loadinfo()

callback = function(){
    // run your function
    loadinfo();
    // determine next delay, if not set, use the last of the sequence
    var delay = delays[iteration] || delays[delays.length - 1];
    // next run, next iteration
    iteration++;
    // register callback to run after determined delay
    setTimeout(callback, delay);
};

// run first execution after 2 seconds
setTimeout(callback, 2000);
})();
于 2011-10-08T10:16:38.507 に答える