Мне было интересно, какой лучший подход для настройки экспорта модуля. "async.function" в приведенном ниже примере может быть FS или HTTP-запросом, упрощенным для примера:
Здесь пример кода (asynmodule.js):
var foo = "bar"
async.function(function(response) {
foo = "foobar";
// module.exports = foo; // having the export here breaks the app: foo is always undefined.
});
// having the export here results in working code, but without the variable being set.
module.exports = foo;
Как я могу экспортировать модуль только после того, как был выполнен обратный вызов async?
изменить Быстрая заметка о моем фактическом прецеденте: я пишу модуль для настройки nconf (https://github.com/flatiron/nconf) в обратном вызове fs.exists() (то есть он будет проанализируйте конфигурационный файл и настройте nconf).