簡體   English   中英

knex.js db調用未完成

[英]knex.js db call does not complete

我正在學習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使用藍鳥承諾。 我的問題是由於承諾退出不完整嗎? 謝謝

這是因為與數據庫的連接仍然是打開的。 在最后一個.then( ... )之后添加以下代碼,它將斷開連接(從而退出進程):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM