2016-10-11 3 views
0

Ich habe versucht, Timeout zu bekommen, um in meinem reaktiven nativen Projekt zu arbeiten, ich verwendete SO und fand viele Antworten, die erklären, dass Sie es eine Funktion zurückgeben müssen, so muss es so aussehenReagiere natives Timeout mit einer Funktion

  setTimeout(function(){this.countLosses(counter, losses)},1000); 

als apposed

  setTimeout(this.countLosses(counter, losses),1000); 

Allerdings, wenn ich die ehemalige laufen bekomme ich eine undefinierte keine Funktion ist, und wenn ich laufen diese als erwartet das Timeout nicht richtig funktioniert.

Die Funktion I sieht zu nennen versuche wie so

countLosses(counter:number, losses:array){ 
     if (counter<5) { 
      this.clicked(losses.pop()) 
      counter=counter+1; 
      setTimeout(function(){this.countLosses(counter, losses)},1000); 
     }else{ 
      this.state = { 
     animateTime: false, 
     selected:[], 

     } 
     } 
} 
+0

versuchen Sie dies: 'setTimeout (() => {this.countLosses (Zähler, Verluste)}, 1000);' – azium

Antwort

0

Okay, ich es endlich

Sie binden nur hinzufügen, muss herausgefunden und diese dann in den Klammern

so

setTimeout(this.countLosses.bind(this,counter, losses),1000);