认识Web Worker
- Web Worker是 运行在后台的javascript,也就是说worker其实就是就一个js文件对象,worker可以让他所包含的js代码运行在后台
-
特点:
- 充分利用多核CPU的优势
- 对多线程支持非常好
- 不会影响页面的性能
- 不能访问web页面和DOM API
- 所有的主流浏览器均支持web worker,除了Internet Explorer
-
Worker提供API
1)检测当前浏览器是否支持Worker
typeof(Worker) !== "undefined“
2)创建Worker文件
创建普通的 JS 文件,都可以用于 Web Worker 文件3)创建Web Worker对象
var worker = new Worker("myTime.js");
参数就是在第二步创建的js文件的路径
4)worker事件
* onmessage事件
用于监听 Web Worker 传递消息,通过回调函数接收传递的消息,通过回调函数的事件对象data 属性可以获取传递的消息
-
postMessage()
w.postMessage( “worker success.” );
通过postMessage() 方法传递消息内容
w.terminate();
在HTML页面中,通过调用 Web Worker 对象的terminate( ) 方法终止 Web Worker。
流程:
- 创建WebWorker对象
- Worker对象
- Worder事件
* onmessage事件,当执行postMessage事件时会触发
* postMessage()方法
* terminate()方法
网友评论