node.js 快递 - 延迟开始

node.js express - delayed start

我正在为我的 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);
});

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

关于如何让代码先等待建立数据库连接有什么建议吗?

您需要初始化服务器,才能连接到数据库。当您连接到数据库时,您可能需要一些回调。例如

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