是否可以向fs.readFile
的回调函数传递附加参数。我有代码来读取目录并解析所有的XML文档。我需要将文件名传递到回调链下进行附加处理。目前我的代码是这样的:
var fs = require('fs');
var path = require('path');
module.exports.extractXMLBody = function (dirPath, ext) {
fs.stat(dirPath, function (err, stats) {
if (stats.isDirectory()) {
fetchFiles(dirPath, ext, function (listOfFiles) {
_.each(listOfFiles, function (val, key) {
var completePath = dirPath + '/' + val;
var fileName = path.basename(val, path.extname(val))
// TODO : Figure out to pass additional parameters
fs.readFile(fullPath, parseXML);
});
});
}
});
}
这里,parseXML
是我定义的回调函数。我想把变量 newFileName
传递给回调函数 parseXML
。
注意:如果我将回调函数写成匿名函数,我可以访问变量,但是我正在尝试避免进一步嵌套回调。