fs.readFile始终将内容返回为undefined

时间:2014-06-19 22:51:45

标签: node.js express

我正在尝试从磁盘读取文件:

exports.getContent = function(filePath, callBack, errorHandler) {
    fs.exists(filePath, function(exists) {
        if (!exists) {
            errorHandler(404);
        } else {
            fs.readFile(filePath, {"encoding": "utf8", "flag": "r"}, function(err, data) {
                if (err) {
                    errorHandler(500, err);
                } else {
                    callBack(data);
                }
            });
        }
    });
};

我通过调试器运行它,发现 文件存在。我到达callBack(data)行,在检查data变量时,它总是undefinederrnull

the documentation我看不出这应该是可能的。

我还尝试重写代码以使用readFileSync

exports.getContent = function(filePath, callBack, errorHandler) {
    fs.exists(filePath, function(exists) {
        if (!exists) {
            errorHandler(404);
        } else {
            var data;
            try {
                data = fs.readFileSync(filePath, {"encoding": "utf8", "flag": "r"});
            } catch (e) {
                errorHandler(500, e);
            }
            callBack(data);
        }
    });
};

...但结果相同:errnulldataundefined

我错过了什么?

0 个答案:

没有答案