我正在创建一个 Node.js 模块来增强基本控制台输出(我知道有 100 多个节点模块可以做到这一点,我唯一的目的是练习节点)。
我想用控制台消息显示时间。这是模块代码:
getTime = function(){
var date = new Date()
return date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds()
}
module.exports.log = function(text){
console.log(getTime() + ' - ' + text)
}
所以我可以使用我的模块:
myConsole = require('./myconsole.js')
myConsole.log('Hello from my own console module')
它适用于少数测试,但 myConsole 的多次调用(在短时间内)会导致来自节点的以下错误消息:
var date = new Date()
^
RangeError: Maximum call stack size exceeded
知道如何避免这种情况吗?我必须销毁日期实例吗?(我尝试使用delete date
但它不起作用)
谢谢。