Декораторы TypesScript в IONIC - PullRequest
0 голосов
/ 04 апреля 2020

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

1 - При использовании декоратора не вызывается запрос Http;

2 - Как сообщить декоратору, что мой запрос завершен, а затем отменить загрузчик;

import { LoadingController } from '@ionic/angular';

export function loader(mensagem: string, tempo: number = 20000) {
    return function (target, key, descriptor) {
        var originalMethod = descriptor.value;
        descriptor.value = function (...args) {
            createLoader(mensagem, tempo);
        };
        return descriptor;
    };
}

async function createLoader(mensagem: string, duracao?: number) {
    let loading: LoadingController = new LoadingController();
    const loader = await loading.create({
        message: mensagem,
        spinner: 'crescent',
        duration: duracao || 20000
    });
    return await loader.present();
}

Моя подписка:

  @loader('Searching', 10)// Decorator that should dismiss when http request finish
  async getEndereco() {// Nothing happends here, even a console.log()
    this.eventsService.getAddress(Number(this.activatedRoute.snapshot.paramMap.get('event')))//request
      .pipe(takeUntil(this.destroyed$))
      .subscribe((address: CustumerAddress) => {            
        this.form.get('select').patchValue({
          address: address.address
          description: address.description
    }); 
  },
    e => {
      this.utils.showError(e);
    });

}

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