2013-03-13 53 views
0

我創建了一個Node.js模塊來增強基本的控制檯輸出(我知道有100多個節點模塊可以實現這一點,我唯一的目的是練習節點)。Node.js - 「RangeError:超出最大調用堆棧大小」錯誤新日期()

我想顯示控制檯消息的時間。下面是模塊代碼:

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但它不起作用)

謝謝。

回答

1

當我測試代碼時,RangeError不會發生。我不認爲這會導致調用堆棧溢出。最大調用堆棧大小超出錯誤通常是由程序中的調用循環引起的。我想你需要檢查你的程序的調用流程來找出造成錯誤的原因。

相關問題