2017-06-25 3 views
1

ラップされた関数setTimeoutが瞬時に呼び出されるという問題があります。私が指定した5000msの代わりに、ランダムに50msから500msの間にかかります。私は代わりにsetIntervalをテストし、不思議なことに、最初の実行もほぼ即時ですが、それ以降の呼び出しは正しい時間です。私はアンドロイドエミュレータでテストしています。 POCリポジトリ:再現するhereReact-native 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エンジン(JavaScriptCoreではなくChromeのV8)で実行されます。

どうやらのように(2017年5月にリリース)ネイティブ0.44.0反応し、問題がまだ存在する。これらの問題は参照してください。 Hereあなたは興味深い修正を見つけることができます。

関連する問題