网上都在说是语法的问题, 要写成这样才行

setTimeout(() => reject(new Error('请求超时')), timeOut) 

然而我已经是这么写了, 还是有问题.

后来发现是 因为开启调试的原因, 直接运行就没有问题 (/ □ \)

Github存放了一份记录学习过程的Demo, 欢迎查看
https://github.com/YouCii/RNDemo

网上都在说是语法的问题, 要写成这样才行setTimeout(() => reject(new Error('请求超时')), timeOut) 然而我已经是这么写了, 还是有问题.后来发现是因为开启调试的原因, 直接运行就没有问题 (/ □ \)...
很多 React Native 应用发生致命错误(闪退)是与计时器有关。在某个组件被卸载(unmount)之后,计时器却仍然被激活。为了解决这个 问题 ,需要在组件中引入TimerMixin,就可以把你原本的 setTimeout (fn, 500)改为this. setTimeout (fn, 500)(只需要在前面加上this.),然后当你的组件卸载时,所有的计时器事件也会被正确的清除。 这个库并没
记录一个坑,在 react native 项目调试中,如果打开了Debug JS Remotely,即在chrome中打开了调试控制台,此时项目中 setTimeout 和setInterval的时间间隔会失效,表现为:不管延迟时间设置为多少,都是会马上执行或者没反应。 关掉chrome debug就好了。 这个 问题 折磨了我好久,后来发现它早就出现在 react native 的Issues中了 http...
在做项目时一般是开启debugger调试模式,这样方便看代码的运行,但也被这个模式坑了。写在定时器内的代码不执行,这个 问题 真的很坑,原因可能是 react native 是多线程的,而浏览器是单线程的,阻塞了。 解决办法:若是想开一个线程执行某些操作,可以把时间设为0,这样同样会开一个新线程,若是想定时执行某些操作,那只能在debugger调试时把时间设为0,打正式包时把时间改为正常的。...
1:如果在gradle编译的时候出现,Could not expand ZIP .....jar 文件,则可能是因为c:/user/.gradle/cache/..底下已经存在了对应jar文件,冲突了,导致没办法解压对应的jar 猜测:gralde会先查找.gradle目录下,是否有对应的缓存,如果有lib目录又有相同的jar则报错 所以排除对应的重复的jar文件,在lib目录删除即可