Java 在node.js中使用
我是node和js的新手 我有一个utilities类,它是这样构建的,可以由utilities.newObject启动,然后用作此utilities.someMethod(args,callback): 我的问题是:有没有办法在方法2中使用方法1? 这就像我在方法中直接调用它一样有效,但如果它在函数中调用,在方法中运行,则不起作用:Java 在node.js中使用,java,javascript,node.js,class,Java,Javascript,Node.js,Class,我是node和js的新手 我有一个utilities类,它是这样构建的,可以由utilities.newObject启动,然后用作此utilities.someMethod(args,callback): 我的问题是:有没有办法在方法2中使用方法1? 这就像我在方法中直接调用它一样有效,但如果它在函数中调用,在方法中运行,则不起作用: exports.newObject = function(){ return new Utilities(); } var Utilities = func
exports.newObject = function(){
return new Utilities();
}
var Utilities = function(){
this.method1 = function(args, callback){
someCallbackFunction(args, function(result){
this.method2(args) // THIS DOES NOT WORK
});
}
this.method2 = function(args, callback){
this.method1(args) // THIS WORKS
}
this.method3 = function(args, callback){
//stuff
}
}
对新手有什么建议吗?因为你的函数都是静态的,你可以直接导出它们的映射
var utilities = {
method1: function() {
someCallbackFunction(args, function(result){
utilities.method2(args)
});
},
method2: function() {
},
method3: function() {
}
};
module.exports = utilities;
试试这个:
exports.newObject = function(){
return new Utilities();
}
var Utilities = function(){
this.method1 = function(args, callback){
var self = this;
someCallbackFunction(args,function(){
self.method2(args,function(){
});
});
}
this.method2 = function(args, callback){
this.method1();
}
this.method3 = function(args, callback){
//stuff
}
}
啊!!我已经在其他人的代码中看到了这一点,现在我知道他是如何做到的。。。var self=this;:Dright。。。所以我不需要这个构造(newObject)?
exports.newObject = function(){
return new Utilities();
}
var Utilities = function(){
this.method1 = function(args, callback){
var self = this;
someCallbackFunction(args,function(){
self.method2(args,function(){
});
});
}
this.method2 = function(args, callback){
this.method1();
}
this.method3 = function(args, callback){
//stuff
}
}