我正在使用第三方控件加载pdf,其中Pdf是延迟加载的。在我的场景中,我想在页面加载时加载几页,并希望加载其余的 pages to load at background.
// Load the required pages at the Load.
function PreLoadPdf(startpage, endpage) {
myApi.addEventListener("rendered", function () {
for (var i = startpage; i <= endpage ; i++) {
myApi.getPage(i).loadRendered();
}
});
}
现在上面的代码执行预加载我想要的Pdf,但我也想在后台加载剩余的页面。 How to execute the Jquery Method at the background of the page without freezing the page.
,我也不应该使用,
setTimeout(function () {}
答案 0 :(得分:1)
有很多方法可以解决这个问题,但我相信最好的解决方案是使用jQuery的promise
API。
//Untested code... typed on the fly
//May have minor syntax errors.
var fileList = [
"http://example.com/file1.pdf",
"http://example.com/file2.pdf"
];
var promiseArray = [];
// Fill the file promise array
for (var i = 0; i < fileList.length; i++) {
var promise = $.get(fileList[i]);
promiseArray.push(promise);
});
}
$.when.apply($, promiseArray).then(function() {
// All have been resolved (or rejected), do your thing
});