如何暂停代码执行javascript

时间:2015-05-25 15:10:39

标签: javascript html5

这是我在javascript上运行DFS的代码,我搜索并尝试使用setTimeout将每次绘制延迟3秒,但它不会起作用。有人能告诉我这样做的方法吗?

find({user: "dummy1", "$not": [{x: 1},{y: 1}]}).limit(10)

2 个答案:

答案 0 :(得分:0)

setTimeout(function () { ...your code... }, time_in_milliseconds);

注意,为了在说出T毫秒之后重复调用一个函数,

function f(params) {
    ... do your work ...
    id = setTimeout(f, T);
}

f(actual_params);

这将在每f毫秒后调用函数T。您可以使用clearTimeout删除超时。

clearTimeout(id); // id returned from the setTimeout function

答案 1 :(得分:0)

如果要完成此操作,则应使用其他类型的循环。 for循环在每次循环之间都不会暂停。

我会做这样的事情:

var counter = 0;
function step(){
     //Do your loop code here
     counter++;
     if(counter >= {{length of loop}}){
          endLoop();
     }else{
         setTimeout(step, 3000);
     }
}

step();