Java 在node.js中使用

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

我是node和js的新手

我有一个utilities类,它是这样构建的,可以由utilities.newObject启动,然后用作此utilities.someMethod(args,callback):

我的问题是:有没有办法在方法2中使用方法1? 这就像我在方法中直接调用它一样有效,但如果它在函数中调用,在方法中运行,则不起作用:

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
    }
}