【发布时间】:2017-10-10 16:55:57
【问题描述】:
我正在尝试在启动节点应用程序时跟踪内容。我需要将我的 db 对象导出到其他模块,所以我需要导出 db。
问题是迁移代码可能会出错,但由于 nodejs 的异步特性,db config 已经导出。我希望同步以下代码,以便仅在迁移完成后才会进行导出。
解决此问题的另一种方法可能是从迁移部分抽象出数据库初始化,但如果迁移失败,我希望应用程序关闭。
/*
1. Db init
2. Migration stuff
*/
const db = knex(config);
(async () => {
try {
const migrate = async () => db.migrate.latest();
await migrate();
} catch(ex) {
console.log('Error migrating: ', ex);
}
})();
module.exports = db;
【问题讨论】:
标签: node.js asynchronous synchronization es6-promise knex.js