對於我的程序,我必須提出100個JSON請求。不幸的是,每秒只允許5個呼叫。由於我使用for循環完成所有JSON請求(是最好的方法),因此我必須在每5次調用1秒後暫停循環。每五次迭代後暫停一次循環
function Hello() {
$("#randomdiv").show();
for (var i=0; i<100; i++) {
if (i%5 == 0 && i>0) {
sleep(1000);
}
$.getJSON(JSONreq, function(data) {Just a JSON request, nothing special})
};
};
的sleep(1000)
導致整個頁面凍結了約20秒,並防止#randomdiv
從由JSON的請求之前出現。
我能做些什麼來解決這個問題? 非常感謝:)
使用計時器:HTTP://www.w3schools .com/js/js_timing.asp – Alfie
@Alfie我無法弄清楚如何僅使用計時器每五次迭代。這兩個計時器哪一個對我更好? – user2498308
您可能會希望'setInterval()',因爲它會繼續循環,直到您停止它爲止。如果你想每五次執行一次代碼,你可以使用一個全局變量整數,每次循環增加1,然後檢查它是否爲== 4,如果它是 - 執行你的代碼並將數字重置爲0,否則,只需在數字中加1並退出函數 – Alfie