React-native setTimer立即执行

时间:2017-06-25 22:13:29

标签: react-native

我遇到了问题,其中setTimeout包裹的函数立即被调用。而不是我指定的5000毫秒,它需要在50毫秒到500毫秒之间随机。我测试了setInterval,奇怪的是第一次执行几乎是立即执行,但后续调用是正确的。我在Android模拟器上测试。 POC存储库:here

重现的步骤:

  1. react-native init TimerBug
  2. 在index.android.js console.time('test 1'); setTimeout(() => console.timeEnd('test 1'), 5000);方法的顶部添加render
  3. exact position for lazy here

    任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这是React Native中的一个已知错误,它已暂时在问题跟踪器中弹出一段时间。问题仅在调试模式下发生,因为在这种情况下,您的代码在不同的JavaScript引擎(Chrome的V8而不是JavaScriptCore)上执行。看到这些问题:

显然,与React Native 0.44.0(2017年5月发布)一样,问题仍然存在。 Here你可以找到一个有趣的解决方案。