React 中setTimeout的问题

#1
...
func() {
    setTimeout(()=>{alert('time 10s')}, 10000)
}

...
<Button onPress={()=>this.func()}/>

上面是一些伪代码,setTimeout的时间不准确,有时3,4s就alert了。
不知道是不是自己写法不对

控制台下的输出,以及在react 中的耗时输出

发现问题了,一开始说不大清楚,是在react native 中。处于Debug JS Remotely模式下,setTimeout就会出现这种情况。

#2

你这不是setTimeout的问题,你没发现那个 func没等到点击一开始就执行了吗
这样,再包一层:
<Button onPress={()=>{()=>{this.func()}}}/>

#3

这样也是不可以。。

#4

少了个{],没有的话相当于直接return出来了,你再试试,我改过来了

#5

发现问题了,一开始说不大清楚,是在react native 中。处于Debug JS Remotely模式下,setTimeout就会出现这种情况。
react native 版本0.51.0
android 版本6.0.1

#6

好像这是react native底层的问题。