worker 实现一个计时器功能
2018-07-10 本文已影响0人
月半女那
worker 实现倒计时功能,可以有效的预防代码阻塞的问题
废话不多说,先贴一段代码
1.首先.先创建一个worker需要执行的js文件,countdown.js
由于这个js文件是由 Worker 来在后台执行的文件,所以这个文件内代码的 self 指向的就是 Worker 对象。我们通过 onmessage 时间接收来自页面的倒计时数值,然后原封不动的把之前的倒计时代码拷贝过来,唯一不同的就是使用 self.close() 语句来关闭 Worker。
2.在创建一个html文件
postmessage:用来向worker发送数据
onmessage: 用接受worker发送过来的数据
注:chrome不支持这种本地使用本地方式使用Web Worker。不过别的浏览器可能就支持,所以还是把main.html页面放在web容器中运行更靠谱。