javascript - 在回调中调用方法

标签 javascript node.js class-method

我有这个 Try 类:

function Try () {
  console.log('Start')
  this.Something( function() {
    console.log('asd')
    this.Some()
  })
}
Try.prototype.Something = function (callback) {
  console.log('hi all')
  callback()
}
Try.prototype.Some = function () {
  console.log('dsa')
}

但是当我尝试在回调部分调用 Some 方法时,它给出了一个错误,提示 this.Some 不是函数。问题是什么?我该如何解决这个问题?

最佳答案

this 的作用域在不同的 function 中是不同的,即使它是内部 function

你需要在self中保留外部函数的this并使其

function Try () {
  console.log('Start')
  var self = this;
  self.Something( function() {
    console.log('asd')
    self.Some();
  })
}

关于javascript - 在回调中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35410299/

相关文章:

uml - 在 UML 中表示类变量和方法

javascript - 在 PHP 中转义 Javascript 中的引号

node.js - 如何将本地主机连接到域?

javascript - 客户端可以接收事件但不能发出

python - 如何从同一个类的类方法调用实例方法

python - 在同一类的方法中使用类/静态方法作为默认参数值

javascript - JS和Python之间如何通信?

javascript - 将 JSON 对象数组转换为 js 映射

Javascript promise 不等待异步函数完成

node.js - NodeJS - 安排一个非常简单的任务在某个日期时间运行