为什么带有Bookshelf.js的插入脚本会挂起?

时间:2016-04-04 20:47:09

标签: javascript node.js bookshelf.js knex.js

我有点困惑为什么Node.js脚本没有退出:

// myscript.js
var Model = bookshelf.Model.extend({
  tableName: 'models'
});
var m = Model.forge({name: 'hello'});
m.save();
console.log("End");

但是当使用node myscript运行时,脚本不会退出。

  • 什么阻止脚本退出?
  • 保存模型后如何干净地退出?

谢谢!

1 个答案:

答案 0 :(得分:2)

  

什么阻止脚本退出?

Knex拥有与您的数据库的连接池。虽然你的脚本的执行结束了,但在幕后,Knex仍在维护它们,阻止程序关闭。

  

保存模型后如何干净地退出?

您可以通过调用,来拆除所有数据库连接。在查询完成后,您必须执行此操作

knex.destroy()