我使用jQuery 1.12.4(因爲我必須與IE8及以上版本兼容),這是我的代碼:jQuery的顯示效果很長一段時間後
$(document).ready(function(){
var pagesUrl = "https://en.wikipedia.org/w/api.php?action=query&format=json&origin=*&list=categorymembers&indexpageids=1&cmtitle=Category%3AEnglish-language+film+directors&cmtype=page&cmlimit=50";
var randomTitles = [];
$.getJSON(pagesUrl, function(data){
var pages = data.query.categorymembers;
for(var i = 0; i < 20; i++){
do{
var index = Math.round(Math.random()*49);
}while(randomTitles.indexOf(pages[index].title) != -1);
randomTitles[pages[index].pageid] = pages[index].title;
}
console.log(randomTitles);
});
});
它應接收一個JSON來自維基百科的文件,其中有一個類別中有50頁的信息。它選擇了20個隨機頁面,並用維基百科頁面編號填充關聯數組編號:維基百科頁面標題對。
它完成它的工作,但結果僅在10秒後才顯示。 任何人都可以解釋我,首先,爲什麼,然後,如何解決這個問題? 謝謝,我對jQuery世界很陌生。
您可以設置一個斷點,並通過代碼走走看看是否有任何花費的時間比除外。使用瀏覽器開發工具。 –
查看DevTools中的「網絡」選項卡,查看維基百科用於回答請求的時間。如果需要10秒鐘,則問題不在您的代碼中,而是在他們的最後。也許嘗試請求更少數量的頁面。如果你向他們發送了很多請求,他們可能會有一個速率限制器。 – Barmar