【问题标题】:Put a function in suspent将函数置于挂起状态
【发布时间】: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


【解决方案1】:

而不是做

setTimeout(abc(),1000);

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

setTimeout(abc, 1000);

【讨论】:

  • 但是我有参数要给那个函数?
猜你喜欢
  • 2021-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-20
相关资源
最近更新 更多