Javascript DB回调后的快速应用程序使用

Javascript DB回调后的快速应用程序使用,javascript,mysql,node.js,express-4,Javascript,Mysql,Node.js,Express 4,我正在Nodejs Express应用程序中使用以下代码: app.js: // ... all variables are initialized var orm = null; var app = express(); db.create(dbSchema, dbSeeds, dbOptions, function(err, ormObject) { if (err) throw err; orm = ormObject; }); var coursesRoutes =

我正在Nodejs Express应用程序中使用以下代码:

app.js:

// ... all variables are initialized
var orm = null;
var app = express();

db.create(dbSchema, dbSeeds, dbOptions, function(err, ormObject) {
    if (err) throw err;
    orm = ormObject;
});

var coursesRoutes = require('./routes/dashboard/courses')(orm);
app.use('/dashboard/courses', coursesRoutes);
var express = require('express');
var router = express.Router();

module.exports = function(orm) {

    router.get('/listall', function(req, res, next) {
        orm.loadMany('sections', null, function(err, sections) {
            if (err) throw err;
            res.jsonp(sections);
        });
    });
    return router;
};
/routes/dashboard/courses.js:

// ... all variables are initialized
var orm = null;
var app = express();

db.create(dbSchema, dbSeeds, dbOptions, function(err, ormObject) {
    if (err) throw err;
    orm = ormObject;
});

var coursesRoutes = require('./routes/dashboard/courses')(orm);
app.use('/dashboard/courses', coursesRoutes);
var express = require('express');
var router = express.Router();

module.exports = function(orm) {

    router.get('/listall', function(req, res, next) {
        orm.loadMany('sections', null, function(err, sections) {
            if (err) throw err;
            res.jsonp(sections);
        });
    });
    return router;
};
这将返回以下错误:

TypeError:无法读取null的属性“loadMany”

我知道问题是
orm
变量在
db.create
回调中初始化之前被传递到文件,但我不知道如何解决这个问题

我试着说:

var coursesRoutes = require('./routes/dashboard/courses')(orm);
app.use('/dashboard/courses', coursesRoutes);

在回调内部,但返回404 not found

在建立数据库连接之前调用了您的courses函数

这应该能奏效

var orm = null;
var app = express();

db.create(dbSchema, dbSeeds, dbOptions, function(err, ormObject) {
    if (err) throw err;
    orm = ormObject;
    var coursesRoutes = require('./routes/dashboard/courses')(orm);
    app.use('/dashboard/courses', coursesRoutes);
});

这将返回404notfound