Я работаю над приложением expressjs, которое загружает данные конфигурации из удаленного хранилища данных. У меня есть код конфигурации в модуле.Как отложить выполнение NodeJS/Express до загрузки конфигурации
Модули, которые мне требуются после того, как требуется модуль конфигурации в основном экспресс-приложении, также зависят от выполненного запроса конфигурации.
Есть ли способ приостановить запуск экспресс-приложения до тех пор, пока модуль конфигурации не будет завершен? Или способ гарантировать, что config был загружен до того, как остальная часть приложения будет продолжена. Я бы предпочел не включать логику в каждый модуль, чтобы проверить, что config был загружен.
// config.js
var zmq = require('zmq');
var sock = zmq.socket('req');
sock.connect(endpoint);
sock.send('config');
sock.on('message', function(data) {
module.exports = JSON.parse(data.toString());
});
// server.js Main application
....
var config = require('./config'); // contains connection information for DB, 3rd party apps, etc...
var db = require('./db'); // Uses the config to know where to connect
var logger = require('./logger');
....
var debug = config.isDebug;
...
// db.js module
var config = require('./config');
var host = config.host
var port = config.port
....
// logger.js module
var config = require('./config');
var logLevel = config.logLevel;
....
'module.exports =' в функции обратного вызова, кажется, не имеет смысла для меня – caub