在加载Express 4.x之前启动数据库连接

时间:2015-03-04 10:30:03

标签: database node.js asynchronous express

我可能会遗漏一些东西,但官方文档中似乎没有任何内容,所以我不敢在这里问;

我正在尝试在应用程序启动时异步设置一些东西(连接到数据库等)。我希望在应用程序准备好接受连接之前完成此操作(出于显而易见的原因)。

有没有办法在Express 4.x中执行此操作?

这里基本上是我想要的an example,但它不受支持,此时已过时4年。

感谢任何帮助。

编辑:我觉得我应该指出我使用express-generator来设置应用程序,因此所有服务器监听都在bin/www内完成。我应该修改这个文件吗?或者我可以从app.js控制它吗?

1 个答案:

答案 0 :(得分:1)

例如,您可以使用promises,如下所示:

var express = require('express');
var app     = express();

var Q = require('q');
var d = Q

mongoose.connect('mongodb://localhost/db', function(){
    return d.resolve();
});

d.promise.then(function(){
    app.listen(8080);
});