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();
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题