这是我在javascript上运行DFS的代码,我搜索并尝试使用setTimeout将每次绘制延迟3秒,但它不会起作用。有人能告诉我这样做的方法吗?
find({user: "dummy1", "$not": [{x: 1},{y: 1}]}).limit(10)
答案 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();