我试图在循环中执行几行,延迟10秒。添加以下代码,
$(xmlResponse).find("row").each(function()
{
setInterval(
//some set of code here
,10000);
});
我不知道我做得对,你们中的任何一个人能指导我吗?
此致 阿斯温
答案 0 :(得分:0)
你可能想要setTimeout()因为它只触发一次:
$(xmlResponse).find("row").each(function() {
setTimeout( //some set of code here ,10000);
});
答案 1 :(得分:0)
现在很清楚OP希望每10秒在.each()
循环中执行一次操作,有几种方法可以做到这一点。一种方法是堆积一大堆setTimeout()
个调用来为整个循环安排未来的工作。我不愿意这样做,因为它很难在未来的工作中做出逻辑决定。相反,我倾向于改变你迭代到这种常用设计模式的方式:
var rows = $(xmlResponse).find("row");
var cntr = 0;
function nextRow() {
if (cntr < rows.length) {
var currentRow = rows.eq(cntr);
// do your operation on currentRow here
++cntr;
// schedule the next row for 10 seconds from now
setTimeout(nextRow, 10 * 1000);
}
}
// start the first one
nextRow();