我正在尝试从磁盘读取文件:
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
变量时,它总是undefined
。 err
为null
。
从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);
}
});
};
...但结果相同:err
为null
,data
为undefined
。
我错过了什么?