簡體   English   中英

錯誤:timers.js:234 callback.apply(timer,args);

[英]Error: timers.js:234 callback.apply(timer, args);

只是為了測試,我想每兩秒鍾創建一個文件,它設法創建了第一個文件,但是2秒后我得到以下錯誤:

Restify listening on port 8080 in %s mode
 create 2012_8_5_8_57.txt

timers.js:234
    callback.apply(timer, args);
         ^
TypeError: Cannot call method 'apply' of undefined
at Timer.exports.setInterval.timer.ontimeout (timers.js:234:14)

一切都在具有重新整理框架的節點服務器上運行。 如果有人知道該錯誤將非常感謝您的幫助! 這是代碼:

var d = new Date();
var n = d.getDay();
var m = d.getMonth();
var y = d.getFullYear();
var min = d.getMinutes();
var sec = d.getSeconds();

//create file
function openUnlink(name) {
    console.log(name);
    fs.open(name, 'w', function (err) {
        console.log(' create ' + name);

    });

};

function createFile() {
    openUnlink(y+'_'+m+'_'+n+'_'+min+'_'+sec+'.txt');
};

//create file every 2 seconds
setInterval(createFile(), 2000);

您不需要在setInterval調用函數。 您只需要傳遞引用即可。 另外,您需要在createFile函數中定義日期。

var fs = require('fs');

//create file
function openUnlink(name) {
    console.log(name);
    fs.open(name, 'w', function (err) {
        console.log(' create ' + name);

    });

};

function createFile() {
    var d = new Date();
    var n = d.getDay();
    var m = d.getMonth();
    var y = d.getFullYear();
    var min = d.getMinutes();
    var sec = d.getSeconds();
    openUnlink(y+'_'+m+'_'+n+'_'+min+'_'+sec+'.txt');
};

//create file every 2 seconds
setInterval(createFile, 2000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM