2014-02-06 102 views
0

我有一個簡單的測試或節點ORM和應用程序運行並創建記錄。但它坐落在事後命令提示符:節點ORM2測試掛起

var orm = require("orm"); 

orm.connect('mysql://un-app:[email protected]/dbn', function(err, db) { 
    var User = db.define('user', { 
     id    : Number, 
     first_name  : String, 
     last_name  : String, 
     email   : String, 
     added_on  : Date, 
     active   : Number, 
     password  : String, 
    }) ; 

    var newUser = { 
     first_name: 'Ed' 
     , last_name: 'Davis' 
     , email: '[email protected]' 
     , added_on: new Date().getTime() 
     , password: 'test' // encrypt('test') 
    } 


    User.create(newUser, function (err, user) { 
     console.log(user.id) 
    });  
}) 

它只是坐在那裏:

C:\Users\todd\Documents\web\nodeTest\app>node create-user.js 
1010 

我使用Windows - 所以控制-C讓我出來。但是那不可能是對的,可以嗎?爲什麼應用程序在那裏等待?

回答

0

據說你需要明確地關閉數據庫連接,以便控制告吹:

User.create(newUser, function (err, user) { 
     //console.log(err) 
     console.log(user.id) 
     console.log('end of connect') 
     db.close() 
    }) 

有人能詳細點,爲什麼?