2016-03-21 17 views
1

Bu yüzden 'this.breakCheck();' demek istiyorum. zaman aşımı tamamlandıktan sonra. Şu anda her iterasyonla çağırıyorum ve programım çalışıyor, ama ideal olarak zaman aşımı tamamlandıktan sonra sadece bir kez çağrılmak istiyorum.Zaman aşımı tamamlandıktan sonra bir işlevi nasıl çağırırsınız? Zaman aşımı bir tıklama olayı tarafından tetiklenir (Typescript)

public startBreak(){ 
    for(let i = this.breakSeconds; i > 0; i--){ 
    this.$timeout(() =>{ this.breakSeconds -= 1; this.breakCheck();}, 1000 * i); 
    } 
} 

Daha önce burada

public startBreak(){ 
    for(let i = this.breakSeconds; i > 0; i--){ 
     this.$timeout(() =>{ this.breakSeconds -= 1;}, 1000 * i); 
    } 
    this.breakCheck(); 
} 

vardı Ama '() startBreak' bir tıklama etkinliğinde tarafından denir çünkü, bu sadece hemen koştu.

Teşekkür ederiz!

cevap

0

Spec: sadece bir kez sadece breakSeconds

Simples sonra denilen

  • denilen

    • breakCheck:

      public startBreak(){ 
          this.$timeout(()=>this.breakCheck(), this.breakSeconds * 1000); 
      }