类似nodejs的 child_process.fork()
// index.html 主线程
function isClose(data){
if(data === 0)
return true;
}
var myWorker = new Worker("worker.js");
myWorker.addEventListener('error',err=>{
console.log( err);
}, false);
myWorker.addEventListener('message',msg=>{
// 监听子线程发来的 数据
console.log( msg.data);
if( isClose(msg.data) ){
// 干掉子进程
myWorker.terminate();
}
}, false);
setTimeout(function(){
// 发更子进程的数据
myWorker.postMessage('frok')
}, 2000);
// worker.js 子线程
// 加载 fn.js 文件
importScripts('fn.js');
console.log(123);
// 向主线程发送 data
postMessage('over 123');
// 接收主线程发来的的数据
onmessage = (e)=>{
check(e.data);
console.log( e.data);
}
// fn.js
function check(data){
console.log( data.constructor.name );
}