Как создать функцию onUpdate с обратным вызовом - PullRequest
0 голосов
/ 10 февраля 2019

Я бы хотел создать копию игры под названием «Hill Climb Racing», используя pixi.js и material.js.Я нашел простой менеджер сцены и объект сцены, написанный на TypeScript, и я преобразовал его в JavaScript, но некоторая часть кода не работает ... Я хотел бы использовать функцию onUpdate следующим образом: gameplay.onUpdate(function() {} );, но я делаюНе знаю, как вызвать функцию обратного вызова в функции onUpdate с помощью функции this.update().

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

1 Ответ

0 голосов
/ 10 февраля 2019

Если я вас правильно понимаю, я предпочитаю показать вам, как передать обратный вызов как «локальную» функцию, чтобы она была более понятной.(И это обычно случай использования)

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!');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...