我有一个像这样的 Node 类:

var Classes = function () {
};

Classes.prototype.methodOne = function () {
    //do something
};

当我想调用 methodOne 时,我使用这个:
this. methodOne();

它有效。但是现在我必须从另一个类的另一个方法内部调用它。这次它不起作用并且无法访问 methodOne :
var mongoose = new Mongoose();
mongoose.save(function (err, coll) {
  //save to database
  this. methodOne(); //this does not work
}

我如何调用methodOne?我使用 Classes.methodOne() 但它不起作用

最佳答案

this 回调中的 save 位于 新上下文 中,并且与外部的 this 不同。将它保存在一个可以访问 methodOne 的变量中

var that = this;
mongoose.save(function (err, coll) {
  //save to database
  that.methodOne();
}

关于javascript - 从另一个类内部调用方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31129643/

10-12 15:25