我正在为我的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服务器已经启动。
有关如何使代码等待首先建立数据库连接的任何建议吗?
答案 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);
});
}