0

我有一个简单的测试或节点 ORM,应用程序运行并创建记录。但它随后位于命令提示符处:

var orm = require("orm");

orm.connect('mysql://un-app:unpwd@localhost/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: 'ez-eddie@hotmail.com'
        , 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 - 所以一个 control-c 让我摆脱它。但这不可能是对的,不是吗?为什么应用程序在那里等待?

4

1 回答 1

0

假设您需要显式关闭数据库连接以允许控制失败:

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

有人可以详细说明为什么吗?

于 2014-02-06T23:30:31.980 回答