Skip to content

定时器不准确

使用setInterval()或者setTimeout(),有时会因为浏览器卡顿,或者网页离屏导致定时器不准确,

比较好的一个方案是使用WebWorker,使用方法如下

js
setInterval(() => {
	self.postMessage('Hello from worker')
}, 1000)
html
<script>
    const work = new Worker('./work.js')
    work.onmessage = e => {
        console.log(e.data)
    }
</script>

以上代码在WebWorker中定义了一个定时器,每秒发送信息,在html中使用事件接受worker发来的信息,即使离屏,定时器也不会停止

MIT Licensed