tenho um proble com topromisse que esta chamando 2 vezes o evento toast

public onChangePeriodo() {
var dataInicial = ConvertToDate(this.entity.MesAno).firstDayOfMonth();
var dataFinal = ConvertToDate(this.entity.MesAno).lastDayOfMonth();
this.serviceTela.getByPeriodo(dataInicial, dataFinal, this.entity.Tipo_Escala).toPromise()
.then(r => {
if ((r || ()).length > 0) {
this.mouraService.mostrarAlertaToast (‘Escala já cadastrada para este período’);

      this.entity.Duracao_Jornada = r(0).Duracao_Jornada;
      for (let i = 0; i < r.length; i++) {
        let item = r(i);
        let dt = ConvertToDate(item.Data);
        (item as any).Data = dt ? dt : '';
      }
      this.Escalas = r;
    } else {
      this.Escalas = ();
    }
  }).catch(err => this.mouraService.logarException(err))

}