Вызов метода из унаследованного класса, когда asyn c logi c завершается в BaseClass - PullRequest
0 голосов
/ 28 марта 2020

Я занимаюсь разработкой приложения Angular. У меня есть класс, который расширяет базовый класс. Это, вероятно, антипаттерн, но какой рекомендуемый способ для BaseClass вызывать methodB () в MyClass после того, как BaseClass завершил выполнение асинхронного вызова c?

     export class MyClass extends BaseClass {
          constructor() {
             super();
          }

          methodA() {
            bcMethod();
          }

          methodB() {
          }
        }

    export class BaseClass  {      
       constructor () {}

          bcMethod() {
// Do some async stuff
              // call methodB in MyClass
              // or notify MyClass in someway that bcMethod has finished
          }
        }

Ответы [ 2 ]

2 голосов
/ 28 марта 2020

Вы можете создать абстрактный метод в базовом классе, а затем вам нужно реализовать этот метод в расширенном классе, после чего вы можете вызвать этот абстрактный метод из базового класса. Это вызовет метод в расширенном классе

0 голосов
/ 28 марта 2020

Поскольку ваш класс наследует от базового класса, вы можете вызвать метод b, просто используя methodB () из дочернего класса

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