在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);
,它会起作用吗? (我现在无法测试)
我该怎么办?
答案 0 :(得分:0)
而不是做
setTimeout(abc(),1000);
调用abc
函数并尝试为其返回值设置超时,这在某些情况下是可以理解的,您将不得不这样做
setTimeout(abc, 1000);