我想知道關於Node.js async和MongoDB的一些事情。 如果服務器在我連接之前啓動,並且我的模板或Ajax依賴於來自數據庫的數據將提供服務(我預編譯我的句柄)HTML文件失敗或將我的模板/ Ajax等待連接,然後繼續?異步:在服務器啓動後連接到MongoDB
如果它有效,我會更好地理解它的工作原理! 如果失敗了,我該如何「優雅地修復」它?
這是一個解決方案的一個例子,使用起重(似乎對我不好TBH):
//connect to db
mongodb.connect("someDBplace",
(err, db)=>{
if(err){
return generalLogger.error(`The database has failed to connect: ${err}.`);
}else{ //start the server now:
generalLogger.info(`Connected to database: ${stringify(db.databaseName)}.`);
server.listen(`${port}`, (err)=>{
if(err){
generalLogger.error(err);
}
//for demo: console th eMIMEtype
generalLogger.info(`The Server started on port: ${port}.`);
});
}
});
咦?你不試試啓動這個代碼嗎? –
是的,我做了 - 它似乎工作正常,但我不知道。我也不知道爲什麼如果它失敗/工作,或者如果它是一個良好的做法 – Defaceo
在你的代碼中,服務器在數據庫連接中實際使用什麼?向我們展示那個部分,或者我們不能說出初始化完成之前會發生什麼。 – Bergi