javascript – Node orm2:不调用orm.connect回调

前端之家收集整理的这篇文章主要介绍了javascript – Node orm2:不调用orm.connect回调前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想试试 node orm2,用sqlite.我尝试了示例代码,并将MysqL更改为sqlite.看起来像这样:
var orm = require("orm");

orm.connect('sqlite://D:/orm_test/database.db',function (err,db) {

    // ...

});

我没有任何错误或警告.什么也没有发生完全没有调用回调函数.

它不起作用,即使我之前创建database.db

解决方法

根据文档,仅当连接成功(或不成功)完成时才调用回调…)
所以如果你的路径不正确(由于任何原因,你的连接不明确地不成功),也许没有回调?

如果直接听直接事件,可以避免回调:

var orm = require('orm');
var db = orm.connect('sqlite://D:/orm_test/database.db');
db.on('connect',function(err) {
  if (err) return console.error('Connection error: ' + err);
  // doSomething()...
});

连接网址如下:

driver://username:password@hostname/database?option=value

您可以使用调试选项将查询打印到控制台中,也许会有更多的信息?

编辑:
嗯,我只是试图使用它,并做到这一点:

// REQUIRES
var express = require('express');
var app = express();
var orm = require("orm");
var sqlite3 = require('sqlite3');

// SERVER CONFIGURATION
var port = 5050;

// APP CONFIGURATION
app.use(express.static('public'));
app.use('/static',express.static(__dirname + '/public'));
app.set('views',__dirname + '/views');

// ROUTES
app.get('/',function(req,res){
    orm.connect('sqlite://C:/Users/Me/Documents/Projects/test/database.db',function(err,db){
    console.log('connected to this db : ' + JSON.stringify(db));
    });
});

app.listen(port,function(){
    console.info('Server successfully started,listening on port ' + port);
});

它的工作原理… JSON.stringify显示控制台中DB Object的内容是什么.你的代码看起来像这样吗?

猜你在找的JavaScript相关文章