2017-06-25 23 views
1

我有一個問題,其中setTimeout包裝函數立即被調用。而不是我指定的5000ms,它需要50ms到500ms之間的隨機數。我測試了setInterval,奇怪的是第一次執行也幾乎是立即執行,但隨後的調用正確無誤。我正在測試Android模擬器。 POC庫:hereReact本機setTimer立即執行

重現步驟:

  1. react-native init TimerBug
  2. 在index.android.js頂部render方法添加console.time('test 1'); setTimeout(() => console.timeEnd('test 1'), 5000);

exact position for lazy here

誰能幫助我?

+0

愚蠢的問題,但是,你是否也嘗試setTimeout與花括號? – Raymond

回答

1

這是React Native中已知的一個已經在問題跟蹤器中彈出一段時間的錯誤。該問題僅在調試模式下發生,因爲在這種情況下,您的代碼將在不同的JavaScript引擎(Chrome的V8而不是JavaScriptCore)上執行。看到這些問題:

顯然當發生反應原住民0.44.0(發佈2017年五月),問題仍然存在。 Here你可以找到一個有趣的修復。