将函数置于暂停状态

时间:2015-08-13 14:02:35

标签: javascript node.js settimeout

在node.js中,我需要在变量发生变化时立即调用函数。

所以我现在正在做的是:

var globalvar = 0;



function abc(localvar) {
  if (globalvar == 1) {
    //some stuff
  } else {
    setTimeout(abc(localvar), 1000);
  }
}
abc(localvar);

但是我的服务器崩溃了"超出了最大调用堆栈大小。"

如果我改为setTimeout(function(){abc(localvar);}, 1000);,它会起作用吗? (我现在无法测试)

我该怎么办?

1 个答案:

答案 0 :(得分:0)

而不是做

setTimeout(abc(),1000);

调用abc函数并尝试为其返回值设置超时,这在某些情况下是可以理解的,您将不得不这样做

setTimeout(abc, 1000);