类似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);// 向主线程发送 datapostMessage('over 123');// 接收主线程发来的的数据onmessage = (e)=>{ check(e.data); console.log( e.data);}
// fn.jsfunction check(data){ console.log( data.constructor.name );}