0

我正在使用第三方控件在其中加载 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 () {}

4

1 回答 1

1

有很多方法可以解决这个问题,但我相信最好的解决方案是使用 jQuery 的promiseAPI。

//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    
});
于 2014-04-04T08:12:36.610 回答