Ist es möglich, zusätzliche Parameter an die Callback-Funktion eines fs.readFile
zu übergeben. Ich habe meinen Code, um ein Verzeichnis zu lesen und alle XML-Dokumente zu analysieren. Ich muss den Dateinamen in der Callback-Kette für die weitere Verarbeitung übergeben. Ab sofort ist mein CodeÜbergeben zusätzlicher Parameter an den Rückruf von fs.readFile im Knoten js
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);
});
});
}
});
}
Hier parseXML
ist der Rückruf i als separate Funktion definiert haben & ich die Variable newFileName
an die Callback-Funktion parseXML
übergeben möchten.
Hinweis: Wenn ich den Callback als anonyme Funktion schreibe, kann ich den Zugriff auf die Variable übergeben, aber ich versuche, die weitere Verschachtelung von Callbacks zu vermeiden.
das sind schlechte Nachrichten für mich. Mir bleibt keine andere Wahl, als mit anonymer Funktion zu gehen. –