2017-04-07 9 views
0

Ich möchte eine Wiederholungsfunktion in meinem nativen Projekt reagieren, aber setTimeout funktioniert nicht. Kannst du mir sagen warum? Und wie man es repariert?Recurrence-Funktion in React Native

handleAppStateChange(appState) { 
    if(appState === 'background') { 
     let i = 0; 
     function runAction() { 
      i++; 
      console.log('result'+i); 
      setTimeout("runAction()",1000); 
     } 
     runAction(); 
    } 
} 

Antwort

0

Erstes Argument der setTimeout ist eine Funktion, versuchen so zu

setTimeout(runAction,1000); 
+0

Hmm. es funktioniert aber nur wenn App wieder "aktiv" ist. Warum funktioniert es nicht, wenn die App im Hintergrund läuft? Vielen Dank. – Klick

+0

Es könnte mit der mobilen OS-Optimierung oder etwas in Verbindung gebracht werden. Es ist nur eine Vermutung, aber vielleicht löscht OS Speicher, dann geht die Anwendung zum Hintergrund, weil im Browser es klar funktioniert –

+0

Versuchen Sie, Date-Objekte anstelle von Timeouts zu verwenden. Nur eine Vermutung. Nicht sicher, ob es für Sie funktioniert, aber es funktioniert, wenn Sie Daten für lokal geplante Benachrichtigungen verwenden. –