我已經閱讀了Promise方法的一些在線教程,但我仍然有點困惑。 我有一個節點app.js執行幾個功能,包括連接到數據庫。使用承諾等待函數完成
db.connect(function(err) {
setupServer();
if(err) {
logger.raiseAlarmFatal(logger.alarmId.INIT,null,'An error occurred while connecting to db.', err);
return;
}
現在我已經寫了摩卡單元測試套件,它封裝了這個程序,並執行若干請求調用它。在某些情況下會發生的是,測試在未確認db已成功連接的情況下進行初始化,即:setupServer()
已執行。
我該如何將promise方法實現爲這一點的異步代碼,如果不是承諾,我應該使用什麼?我已經嘗試了事件發射器,但這仍然不能滿足所有的要求,並在清理期間導致失敗。
裏面是什麼setupServer?那裏有異步工作嗎? – Ozan
它包括get/post/provisioning調用來在db – shanwar
中設置密鑰空間,那麼您需要在setupServer函數內設置promise。 – Ozan