nodejs在exports之前需要异步init,如何处理?

现在有一个nodejs文件在exports一个方法前需要确保一个异步初始化操作已经完成(主要是获取配置之类),如何能将这个方法像其他同步方法一样exports出来?
还是说必须在应用启动的app.js中先执行一次这个文件的init方法才行?

阅读 3.8k
1 个回答

简单一点,手动阻塞

// a.js
async_init(() => {
    exports.method = () => {};
});
//b.js
let a = require('a.js');
while (!a.hasOwnProperty('method')) ;

exports = () => {
    a.method();
};
推荐问题