微信小程式setTimeout的坑
- 緣起
- 盤他
緣起
近段時間弄個小程式,需要用到setTimeout控制音頻的停止,在開發工具上正常,但一到真機除錯就不行了,時間差太多了,且每次的誤差都不一樣,這個搞到半夜都沒解決,最后不得不郁郁睡覺去了,
盤他
第二天起來后,就不停的度呀度,最后找到一篇文章說到,不要使用真機除錯setTimeout,因為手機跟電腦一來一回,就形成較大時間差,最好是使用體驗版來進行測驗,按照這個方法提交了體驗版,測驗后誤差確實降低了,從1000多、2000多毫秒降低到1到10毫秒之間,但是對我還是有一些影響,
最終我將每次運行setTimeout誤差值存在一個長度為10的陣列中,當陣列填滿數值后,每次都將當前誤差值比對陣列中的最小值,將兩者較大的數保留下來,然后用原timeout值都減去這個陣列的平均值,得到最終的timeout值,精確度高了不少,滿足了我的需要,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292926.html
標籤:其他
