Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery中添加循环执行延迟_Jquery_Loops_Delay - Fatal编程技术网

在jquery中添加循环执行延迟

在jquery中添加循环执行延迟,jquery,loops,delay,Jquery,Loops,Delay,我试图以10秒的延迟执行循环中的几行。在下面添加代码 $(xmlResponse).find("row").each(function() { setInterval( //some set of code here ,10000); }); 我不知道我做得对不对,你们谁能给我指点一下吗 问候,, Ashwin您可能需要

我试图以10秒的延迟执行循环中的几行。在下面添加代码

            $(xmlResponse).find("row").each(function()
            {
                setInterval(
                    //some set of code here
                ,10000);
            });
我不知道我做得对不对,你们谁能给我指点一下吗

问候,,
Ashwin

您可能需要setTimeout(),因为它只触发一次:

$(xmlResponse).find("row").each(function() {
    setTimeout( //some set of code here ,10000);
});

现在很清楚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();
var rows=$(xmlResponse.find(“row”);
var-cntr=0;
函数nextRow(){
如果(cntr<行长度){
var currentRow=rows.eq(cntr);
//在此处对currentRow执行操作
++碳纳米管;
//从现在开始,安排下一行10秒
设置超时(下一步,10*1000);
}
}
//开始第一个
nextRow();

您是否运行了代码?setInterval将每10秒运行一次,如果您只想运行一次,请将其更改为SetTimeOut。您不能让循环的迭代真正等待或延迟。javascript不是这样工作的。您可以使用
setTimeout()
计划将来运行的代码,但您的问题并不清楚这是否正是您想要的,或者您真的只想缓慢地进行迭代,每10秒一项。请更详细地描述您真正想要完成的任务。@Kartikeya-
.delay()
仅适用于jQuery动画,而不适用于
.each()
@jfriend00,谢谢您的评论。。我正在尝试调用GoogleAPI来获取一些latitude和longitude值。由于GoogleAPI的响应速度有点慢,我希望我的循环能够以5秒或10秒的延迟进行迭代。。如果我不清楚,请告诉我