Node.js中的SetTimeout问题

我有下面的代码在Chrome(V8)下运行良好,但在节点内部失败:

var id; id = setTimeout("TimeoutHandler()", 10); console.log ('SET'); function TimeoutHandler() { clearTimeout(id); console.log ('CLEAR'); } 

Chrome输出:

 SET CLEAR 

Nodejs输出:

 SET timers.js:110 first._onTimeout(); ^ TypeError: Property '_onTimeout' of object [object Object] is not a function at Timer.listOnTimeout [as ontimeout] (timers.js:110:15) 

任何想法为什么? 谢谢

与大多数浏览器不同,node.js中的setTimeout不接受string参数。 你必须传递一个函数。 例如:

 function TimeoutHandler() { clearTimeout(id); console.log ('CLEAR'); } var id; id = setTimeout(TimeoutHandler, 10); console.log ('SET');