在我的app.js
之前,等待創建mongodb連接,然後在應用程序啓動時創建一個mongodb連接。Nodejs:在創建http服務器
mongoose.connect(config.db, {});
var db = mongoose.connection;
db.on('error', function() {
log.error("Failed to connect to database");
process.exit(1);
});
db.once('open', function() {
log.info("Connected to database");
});
的app.js
從bin/www.js
(帶require('./../app')
),在其中創建http服務器使用。
當前,如果db連接失敗,app終止,但在終止前已創建http服務器,因爲db創建失敗是異步報告的。
我需要阻止http服務器創建,直到數據庫連接成功,但我需要保持服務器創建代碼在bin/www.js
本身,而不必將其移動到數據庫連接成功回調app.js
。
有什麼辦法可以做到這一點?
將您的web服務器監聽器移動到db.once('open'....' – Saleem