在nodejs中通过需要传递对象实例
问题描述:
我是新来的节点,努力实现一个目标,我可以将一个对象实例返回给调用方法。在nodejs中通过需要传递对象实例
请注意:对象实例正在创建一个非阻塞回调,并且我想将这个对象传递回主模块,从这里被调用,我可以在同一个文件(文件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邦萨尔
答
这是一个新典型问题。你试图从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
});
+1感谢,这是非常快的,所以只是想确认是否有在这个任何其他方式,或者这是唯一的选择从async返回的东西..但非常感谢:) – 2014-09-05 08:37:08
是的,这是唯一的方法。除非您使用[生成器](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/yield)或[promise](https://developer.mozilla.org/en-美国/文档/网络/的JavaScript /参考/ Global_Objects /无极) – 2014-09-05 11:58:36