什么是worker?
在使用HTML4与Javascript创建出来的Web程序中,所有的处理都是单线程的,如果花费的时间比较长的话,程序界面会长时间处于没有响应的状态。利用HTML5中的Web Workers API,用户很容易的创建在后台运行的线程(worker),将耗时的处理交给后台去执行,大大优化了程序的性能。
Worker API
new Worker(‘后台处理的JS地址’)
利用postMessage传输数据
importScripts(‘导入其他JS文件’)
用法如下所示
var worker=new Worker("worker.js");
worker.onmessage=function(event){
//处理收到的消息
}
worker.postMessage(message);
Worker运行环境
navgator : appName、appVersion、userAgent、platform
location : 所有属性都是只读的
self : 指向全局 worker 对象
所有的ECMA对象,Object、Array、Date等
XMLHttpRequest构造器
setTimeout和setInterval方法
close()方法,立刻停止worker运行
importScripts方法等等可以在线程中使用。