如何使用回调创建onUpdate函数

时间:2019-02-10 10:38:44

标签: javascript callback

我想使用pixi.js和something.js创建一个名为“ Hill Climb Racing”的游戏的副本。我找到了一个简单的用TypeScript编写的场景管理器和场景对象,并将其转换为JavaScript,但是部分代码无法正常工作...我想像这样使用函数onUpdategameplay.onUpdate(function() {} ); ,但我不知道如何通过函数onUpdatethis.update()函数中调用回调。

var callback = function() {}
this.onUpdate = function(callback) {
  if (callback && typeof callback == "function") {
    callback();
    console.log("looP");
  }
}
this.update = function() {
  callback();
}

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,我希望向您展示如何将回调作为“本地”函数传递,这样会更加清晰。 (这通常是用例)

this.onUpdate = function(callback) {
    if(callback && typeof callback == "function"){
        callback();
        console.log("looP");
    }
}
this.update = function() {
  this.onUpdate(() => {
    console.log('onUpdate callback');
  });
}

例如:

function myObj() {
  this.onUpdate = function(callback) {
    if (callback && typeof callback == "function") {
      callback();
      console.log("looP");
    }
  }
  this.update = function() {
    this.onUpdate(() => {
      console.log('onUpdate callback');
    });
  }
}

const a = new myObj();
//a.update();
a.onUpdate(() => {
  console.log('this is my callback!');
});