【发布时间】:2015-08-13 22:11:03
【问题描述】:
在 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);,它会起作用吗? (我现在无法测试)
我该怎么办?
【问题讨论】:
-
如果您经常这样做,您可能需要考虑使用可观察的发布/订阅模型,而不是有效地轮询更改。
标签: javascript node.js settimeout