Typescript -> Вызов функции, которая будет вызывать обратный вызов в другой функции - PullRequest
0 голосов
/ 24 апреля 2020

Я спрашиваю, может быть, что-то слишком странное, но я не уверен,

Я пытаюсь сделать функцию .done () в Typescript, используя OOP

Мой код выглядит так :

    // Calling this callback out of Class map/terrain
    terrain.done(() =>
    {
        // Do something when terrain is Done
    });

Другой код загружает ландшафт, теперь у меня есть функция, с которой я хочу запустить этот обратный вызов.

   private loadTiledmap():void
   {
     .... //loadTiledmap is called when all resources are loaded
       this.done; // Trigger the callback
   }

   public done(callback: () => void ): void
   {
       callback();
   }

Функции this.done и terrain.done (() будут вызывать обратный вызов, но я не знаю, как вызвать terrain.done (() где-то еще в коде. Спасибо за вашу помощь и советы

1 Ответ

0 голосов
/ 24 апреля 2020

Похоже, вы хотите, чтобы done(callback) зарегистрировал обратный вызов, а затем вы хотите loadTiledmap, чтобы вызвать этот обратный вызов, когда он завершится, это работает?

В таком случае вам просто нужно сохранить функция на вашем экземпляре класса, а затем запустить этот обратный вызов.

class MyClass {
    private doneCallback: (() => void) | undefined

    // Save the callback function
    public done(callback: () => void ): void
    {
        this.doneCallback = callback;
    }

    private loadTiledmap():void
    {
       // ... loadTiledmap is called when all resources are loaded
       this.doneCallback?.(); // Trigger the callback
    }
}

Playground

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...