WebWorker的浏览器"异步线程"

时间:2022-04-24 21:17:03

worker新线程:

1.通过postMessage( data ) 方法来向主线程发送数据;

2.绑定onmessage方法来接收主线程发送过来的数据;
 
3.worker外部文件不允许使用window,document,parent对象;
 
请求数据:
<script type="text/javascript">
onload = function () {
//WEB页主线程
var worker = new Worker("worker.js"); //创建一个Worker对象并向它传递将在新线程中执行的脚本的URL
worker.postMessage("hello world1"); //向worker发送数据
worker.onmessage = function (e) { //接收worker传过来的数据函数
document.getElementsByTagName("div")[0].innerHTML = e.data; //输出worker发送来的数据
}
}
</script>

  

 
响应数据:
<script type="text/javascript">
//外部JS文件
var o = "1,1";
//在外部的worker的JS中同样使用onmessage来获取发来的数据
onmessage = function (e) {
postMessage(e.data + o + "返回值");
}
</script>