希望有人可以提供帮助,我是JavaScript的新手,所以请原谅我的错误。
我正在制作一个数据收集器书签,可以下载许多页面(> 400)并对其进行格式化。好吧,我试图下载这些页面的服务器不是我的,所以我不想提高它的负载并被禁止或者其他东西。
所以,我想在每次下载之间设置一些随机间隔。据我所知,jQuery.ajax是一个异步函数,并没有这样的选项。有没有人有任何想法呢?
感谢您的帮助 - 我的代码如下:
upload = function() {
var getarray = [];
getarray.push($.ajax({
// do this for all pages in list
url: '/01.html'
success: function() { // format data }
}));
$.when.apply($, getarray).done(function() {
// upload
});
); return;
};
答案 0 :(得分:0)
我不确定完全理解这种情况,但你可以尝试这样的事情:
getRandom = function(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}
upload = function() {
var getarray = [];
getarray.push($.ajax({
// do this for all pages in list
url: '/01.html'
success: function() {
// format data
var timeout = getRandom(0, 10000);
// return random value between 0 and 10sec
setTimeout(function(){
upload();
}, timeout);
}
}));
$.when.apply($, getarray).done(function() {
// upload
});
); return;
};