gpt4 book ai didi

javascript - knex.js 数据库调用未完成

转载 作者:数据小太阳 更新时间:2023-10-29 04:01:55 25 4
gpt4 key购买 nike

我正在学习 node.js 并遇到了 knex.js 和 bookshelf.js 来与不同的数据库进行交互。我正在尝试运行一个简单的 knex 程序,但不知何故该程序没有退出。下面是程序:

'use strict';
console.log('Getting knex');
var knex = require('./knex')({
client: 'mysql',
connection: {
host: '127.0.0.1',
user: 'shankhoneer',
password: 'password',
database: 'knex_test'
}
});
debugger;
console.log('got knex');
knex.schema.createTable('users', function(table) {
console.log('creating tables');
table.increments('id');
table.string('user_name');
}).then (function(msg){
console.log('Completed creation');
console.log(msg);
return {inserted: true};
});

我尝试调试,发现 knex 使用了 bluebird promises。我的问题是由于未完全退出 promise 造成的吗?谢谢

最佳答案

这是因为与数据库的连接仍然打开。在最后一个 .then( ... ) 之后添加以下代码,它将断开连接(从而退出进程):

.finally(function() {
knex.destroy();
})

关于javascript - knex.js 数据库调用未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28869148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com