我想在具有回调的函数内部使用此回调

时间:2014-10-03 23:37:04

标签: node.js express

我尝试使用此代码块接收文件列表:

var templates;
db.getTemplates(function(err, reply){
    templates = reply;
});

来自这段代码,但节点正在抱怨" undefined不是函数",为什么回调未定义?更重要的是,写这个的最佳方式是什么?

function getTemplates(callback){
fs.readdir('views/templates', function(err, reply){
    if(err){
        callback('there was an error reading the directory: ' + err, null);
    } else{
        callback(null, reply);
    }
});
}

1 个答案:

答案 0 :(得分:0)

我发现了我的问题。我不得不在if语句中放置回调来运行代码。例如:

function getTemplates(callback){
    fs.readdir('views/templates', function(err, reply){
    if(callback){    
        if(err){
            callback('there was an error reading the directory: ' + err, null);
        } else{
        callback(null, reply);
    }
}
});
}