Wenn ich den folgenden Code ausführen, der sequenziell mit MongoDB verbindet, dann schließt mit async.waterfall in Javascript, das Programm nicht wie erwartet beendet. Stattdessen scheint es, nur zu warten, nach der ‚DB geschlossen“ Linie.Warum endet meine async.waterfall Javascript sequenzielle Code nicht?
$ node test-async2.js
hit connectMongo
Connected correctly to server, DB: notes
hit closeMongo
DB closed
[program just waits here, doesn't end]
ich das Programm erwartet. Ende, was Fehler bin ich?
const
async = require('async'),
MongoClient = require('mongodb').MongoClient,
url = 'mongodb://localhost:27017/notes';
function connectMongo(next) {
console.log('hit connectMongo');
MongoClient.connect(url, function(err, db) {
console.log("Connected to server, DB: " + db.databaseName);
next(null, db);
});
}
function closeMongo(db, next) {
console.log('hit closeMongo');
db.close;
next(null, "DB closed");
}
// perform connect then close sequentially
async.waterfall([
connectMongo,
closeMongo,
], function (err, result) {
if (err) throw err;
console.log(result);
});
Was Sie von 'das Programm bedeuten end.'? Was auch immer in den Code geschrieben, ist das, was ist Ich denke, "ctrl + c" wird helfen Sie stoppen Ihr Programm. Ich denke nicht, dass es automatisch endet. – Shrabanee
Rufst du 'nah' an? Es gibt keine Klammern. – cartant
@cartant - das ist es, vielen Dank. Ich hatte so lange auf den Code gestarrt, dass ich keinen dummen Fehler sehen konnte. Danke noch einmal !!! – Jon