다음 코드를 실행하면 MongoDB에 순차적으로 연결 한 다음 자바 스크립트의 async.waterfall을 사용하여 닫히면 프로그램이 예상대로 종료되지 않습니다. 대신 'DB closed'라인 후에 기다리는 것처럼 보입니다.
$ node test-async2.js
hit connectMongo
Connected correctly to server, DB: notes
hit closeMongo
DB closed
[program just waits here, doesn't end]
나는 프로그램이 끝날 것을 기대하고 있었다. 내가 어떤 실수를하고 있습니까?
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);
});
db.close 대신 db.close () 시도
또한 db.close에 콜백을 추가하여 닫는 동안 오류를 확인하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다