我有一个仪表板屏幕,需要在加载时发出大约 20 个 AJAX 请求,每个请求返回不同的统计信息。总的来说,所有请求返回大约需要 10 秒。然而,在那 10 秒内,用户界面几乎被锁定。
我记得读过 Nick Zakas 的一本 JS 书,其中描述了在密集操作期间保持 UI 响应性的技术(使用计时器)。我想知道是否有类似的技术来处理我的情况?
*出于多种原因,我试图避免组合 AJAX 调用
$(".report").each(function(){
var container = $(this)
var stat = $(this).attr('id')
var cache = db.getItem(stat)
if(cache != null && cacheOn)
{
container.find(".value").html(cache)
}
else
{
$.ajax({
url: "/admin/" + stat,
cache: false,
success: function(value){
container.find(".value").html(value.stat)
db.setItem(stat, value.stat);
db.setItem("lastUpdate", new Date().getTime())
}
});
}
})