JQ each 请求接口时会出现部分请求频繁,利用此方法可解决频繁
function forTest() {
var arr = []; // 缓存集
var cursor = 0; // 游标,用来记录输出进度
var start = new Date();
for (var i=0; i<10; i++) {
(function(j) {
setTimeout(function() {
// 每次以对号入座形式把循环结果缓存起来
arr[j] = (j);
// 直到匹配到了游标,开始执行下一步
if (j === cursor) {
// 在arr中,从最早的for返回的结果依次输出,直到undefined为止
// 每次输出后,游标也随之变化
for (; cursor<arr.length; cursor++) {
if (arr[cursor] == undefined) {
break;
}
console.log(arr[cursor], "time:" + (new Date() - start));
arr[cursor] = undefined; // 避免重复输出,清除缓存内容
}
}
}, Math.random() * 1000);
}(i));
}
}