通过require在nodejs中传递对象实例

时间:2014-09-05 07:39:48

标签: node.js mongodb requirejs

我是节点的新手并努力实现一个目标,我可以将对象实例返回给调用者方法。

请注意:对象实例是在非阻塞回调中创建的,我想将此对象传递回调用此对象的主模块,我能够在同一个文件中实现此目的(文件b。 js)但不在主文件(文件a.js)中使用require。

文件b.js中的示例代码

var object1 = require('object1.js')
  function createobject(){
     object1.someFunction(err,function(myobj){
        //retrun myobj to the caller function; 
         return myobj;
    });
   }
module.exports = createobject;

在a.js

var b = require('b.js');
var myobj = b.createObject(); 
//call some method of myobj

请建议专家, 谢谢, Manish Bansal

1 个答案:

答案 0 :(得分:2)

这是新人的典型问题。您试图从async函数返回一些内容 - 这不起作用。改为使用回调或承诺:

file b.js

function createobject(next){
   object1.someFunction(err,function(myobj){
      //retrun myobj to the caller function; 
       next(myobj);
  });
}

file a.js

b.createObject(function (myobj) {
  // call some method of myobj
});