Ich habe einen Fehler in meinem Nodejs-Code, der das Hochladen von Dateien parallel zu einem AWS-Bucket unter Verwendung von q umfasst. Irgendwo im Code wird ein Fehler erzeugt. Ich habe keine Ahnung wo.So finden Sie die Quellzeile, in der ein asynchrones Nodejs-Programm fehlschlägt
Die konkrete Situation: ich ein einfaches NodeJS Skript, das alle Dateien im aktuellen Verzeichnis zu einem aws Eimer uploads und gebe ein „q“ Versprechen des Ergebnisses:
var uploadAll = function() {
var uploadFiles = readdirRecursiveSync(".");
var uploadPromises = uploadFiles.map(function(fileName) {
var bucket = new AWS.S3({ params: { Bucket: bucketName } });
var file = fs.createReadStream(fileName);
return Q.denodeify(bucket.upload)({ Body: file, Key: fileName});
});
return Q.all(uploadPromises);
}
uploadAll().then(function(){
console.log("done");
}).catch(function(error) {
console.log(error);
});
Nun, wenn ich mache das ich eine Fehlermeldung erhalten, die wie folgt lautet:
[TypeError: self.service.constructor.__super__ is not a function]
Aber ich habe keine Ahnung, wie die Source-Leitung zu finden, die diesen Fehler erzeugt.
Ich habe versucht, das Skript mit
node debug script.js
laufen Aber das half nicht.