node.js表达 - 延迟启动

时间:2015-01-05 07:01:35

标签: node.js express

我正在为我的http服务器使用express。我想在开始接受来自客户端的任何http连接之前首先初始化数据库连接。代码的某些部分如下所示。

function connect_to_db(connection_string) {...};

connect_to_db(connection_string);
var server = app.listen(app.get('port'), function() {
    debug('Express server listening on port ' + server.address().port);
});

这不起作用,因为db连接需要时间来建立。在 connect_to_db 完成之前,http服务器已经启动。

有关如何使代码等待首先建立数据库连接的任何建议吗?

1 个答案:

答案 0 :(得分:2)

当您能够连接到数据库时,您需要初始化服务器。当您连接到数据库时,您可能需要一些回调。 e.g。

connect_to_db(connection_string, function(){
  var server = app.listen(app.get('port'), function() {
      debug('Express server listening on port ' + server.address().port);
  });
}