在导出之前加载asynchronousconfiguration

在运行我的应用程序之前,我需要加载一些asynchronousconfiguration,如下所示:

var express = require('express'); var router = express.Router(); var myModule = require("myModule"); myModule.create().generateModel().then(tagger => { router.post('/tag', function(req, res, next) { res.json(tagger.tag(req.body.text)); }); module.exports = router; }); 

但是这不起作用,因为需求是同步的。 我怎样才能做这个工作? 我如何在其他模块中重新使用“tagger”?

您不需要asynchronous设置module.exports因为您正在导出已经同步定义的router

 var express = require('express'); var router = express.Router(); var myModule = require("myModule"); myModule.create().generateModel().then(tagger => { router.post('/tag', function(req, res, next) { res.json(tagger.tag(req.body.text)); }); }); module.exports = router;