在module.exports中处理异步

时间:2019-06-21 10:12:51

标签: node.js

我想异步加载一些js模块,每个js模块都有一些数据库操作。如何确保对module.export的每个需求都异步加载。

module.export = require('module-a');
module.export = require('module-b');
module.export = require('module-c')

我想在模块b之后执行模块c,并在模块a之后执行模块b

2 个答案:

答案 0 :(得分:0)

您应该尝试以下代码

var module_c = require('module-c');

module_c.somemethod()
.then(function() {
  var module_b = require('module-b');
  module_b.method1().then(function(){
    var module_a = require('module-a');
    ...
    ...
  });
});

可以通过在相应的回调函数或promise中调用它们来异步加载JS模块

答案 1 :(得分:0)

您可以使用 async / await

注意:这没有经过适当的测试,但是如果不能立即使用,则至少应该概述一下操作方法。

const loadModule = async() => {
  const result = await module_c.someOperation();
  return result;
};