Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript setTimeout Immediately runs in React Native

My problem is that setTimeout runs ‍about 5 seconds earlier. For example, when I set it to 5 seconds, it runs immediately, but when I am on the 15 seconds, it will run for about 10 seconds later.

I even surveyed this question: setTimeout in React Native, but I still could not solve the problem

changeNotify() {
    let that = this;
    console.log("before");
    setTimeout(function () {
        console.log("After");
        that.setState({notifyModal: false})
    }, 5000);
}

And in render

<Button
   title='change'
   onPress={() => this.setState({notifyModal: true},()=>this.changeNotify())}
/>
like image 440
Mahdi Bashirpour Avatar asked Jul 03 '18 22:07

Mahdi Bashirpour


1 Answers

The code above was correct.👌

There was a problem, because I was in the debug mode and my device's time don't matches that of my computer!

This happened to me and took an unfortunately long while to debug 😊

like image 124
Mahdi Bashirpour Avatar answered Sep 21 '22 07:09

Mahdi Bashirpour