Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 异步函数导致模块初始化_Node.js_Asynchronous - Fatal编程技术网

Node.js 异步函数导致模块初始化

Node.js 异步函数导致模块初始化,node.js,asynchronous,Node.js,Asynchronous,假设这个简单的模块: var mongoose = require('mongoose-util'); mongoose.myOwnCreateConnection(function(err, connection) { if(err) { console.log('log error somehow and make it die'); module.exports = null; } else { module.exports = connectio

假设这个简单的模块:

var mongoose = require('mongoose-util');

mongoose.myOwnCreateConnection(function(err, connection) {
  if(err) {
     console.log('log error somehow and make it die');
     module.exports = null;
  } else { 
     module.exports = connection;
  }
});

它显然不起作用,但如何在上下文模块初始化中管理这些调用呢?这里的最佳实践是什么?我是否只需要在模块init中使用函数声明?提前谢谢。我这样问是因为express有一个应用程序模块,其中所有内容都已初始化。

需要的是同步操作。因此,这将不起作用,您可以使用:


mongoose
createConnection
不以函数为参数:不清楚您在这里想要实现什么对不起,这是一个简化,我将编辑这个荒谬的疯狂示例:)我想要实现的是在模块中导出连接对象。这就是一个例子,代码更复杂,但在这里并不重要,它甚至不适用于此。这是一个非常干净的解决方案,但使用此解决方案,我只会“延迟”(或者说延迟)异步到另一个模块-因为我在其他“同步”模块中使用此“异步”模块,所以它将需要制作另一个异步模块等。我希望你明白我的观点,但这个解决方案真的很好。