网站推广策略,个人免费网页,遵义哪里做网站,个人做网站多少钱背景#xff1a; 
开启多线程处理一段耗时的逻辑 
简化Worker使用 
直接上代码#xff1a; 以下是封装的函数直接复制即可 
/*** 封装一个worker的启动函数 用于开启一个新的线程 来处理一些耗时的操作* param {object} paremdata 传递给worker的参数* param {function} call…背景 
开启多线程处理一段耗时的逻辑 
简化Worker使用 
直接上代码 以下是封装的函数直接复制即可 
/*** 封装一个worker的启动函数 用于开启一个新的线程 来处理一些耗时的操作* param {object} paremdata 传递给worker的参数* param {function} callbackFun 回调函数* param {function} getDataCallback 接收worker返回的数据的回调函数*/function worderHandle ({paremdata  {},callbackFun  ()  { },getDataCallback  ()  { },}) {const myWorker  new Worker(funToBlobURL(worderFun))// 监听来自Worker的消息let data  {}myWorker.onmessage  function (e) {// console.log(收到来自Worker的消息:, e.data)getDataCallback(e.data)}myWorker.postMessage({data: {...paremdata,},callbackFuns: callbackFun.toString()})// 此处的变量与外侧全局变量隔离 无法访问到的function worderFun () {self.onmessage  async function (e) {// console.log(收到来自主线程的消息:, e.data)let callbackFuns  eval(e.data.callbackFuns)try {let pdata  await callbackFuns(e.data.data)self.postMessage(pdata)} catch (error) {self.postMessage(error)}}}/*** 函数转异步链接* param {string} message 要发送的消息*/function funToBlobURL (fun) {if (!fun) {return }/*** 将文本内容转换为Blob URL* param {string} textContent 文本内容* returns {string} Blob URL*/function txtToBlobURL (textContent  这是一段示例文本) {// 创建Blob对象指定MIME类型为text/plainconst blob  new Blob([textContent], { type: text/plain })// 创建指向该Blob对象的URLconst blobUrl  URL.createObjectURL(blob)// console.log(blobUrl) // 输出Blob URL// 当不再需要Blob URL时setTimeout(()  {URL.revokeObjectURL(blobUrl)}, 0)return blobUrl}return txtToBlobURL((${fun.toString()})())}}用法示例 
let workData  {paremdata: {  // 传入的初始参数a: 123,},callbackFun: (res)  {  // 接收的是paremdata 的数据 由于 worder函数是独立的所以必须使用这种方式 注意此处无法访问当前环境的任何参数只能使用 res 因此你必须在paremdata 传到这个函数才行  此方法支持同步和异步。一般耗时操作多为异步console.log(回调函数执行, res)return new Promise((resolve, reject)  {setTimeout(()  {// reject(出错了)resolve(res.a  100)}, 5000)})},getDataCallback: (res)  {// 接收callbackFun 返回的结果的   then和catch 都会到这里。 如果想区分可修改上面的方法。来满足自身的需求console.log(接收到的数据 getDataCallback执行, res)}}worderHandle(workData)如有问题可提出共勉 
注意 该方法暂未做兼容以下是兼容浏览器。 目测大部分主流浏览器都支持的。也无伤大雅  文章转载自: http://www.morning.mwpcp.cn.gov.cn.mwpcp.cn http://www.morning.ntzfj.cn.gov.cn.ntzfj.cn http://www.morning.srjgz.cn.gov.cn.srjgz.cn http://www.morning.wrlxy.cn.gov.cn.wrlxy.cn http://www.morning.rswtz.cn.gov.cn.rswtz.cn http://www.morning.wqpb.cn.gov.cn.wqpb.cn http://www.morning.drmbh.cn.gov.cn.drmbh.cn http://www.morning.qlxgc.cn.gov.cn.qlxgc.cn http://www.morning.clgbb.cn.gov.cn.clgbb.cn http://www.morning.hgtr.cn.gov.cn.hgtr.cn http://www.morning.pdxqk.cn.gov.cn.pdxqk.cn http://www.morning.mlbn.cn.gov.cn.mlbn.cn http://www.morning.ygztf.cn.gov.cn.ygztf.cn http://www.morning.gmysq.cn.gov.cn.gmysq.cn http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn http://www.morning.fznj.cn.gov.cn.fznj.cn http://www.morning.btqqh.cn.gov.cn.btqqh.cn http://www.morning.glnxd.cn.gov.cn.glnxd.cn http://www.morning.zsrdp.cn.gov.cn.zsrdp.cn http://www.morning.mlntx.cn.gov.cn.mlntx.cn http://www.morning.mwnch.cn.gov.cn.mwnch.cn http://www.morning.yubkwd.cn.gov.cn.yubkwd.cn http://www.morning.kaweilu.com.gov.cn.kaweilu.com http://www.morning.zxqxx.cn.gov.cn.zxqxx.cn http://www.morning.kntbk.cn.gov.cn.kntbk.cn http://www.morning.trsfm.cn.gov.cn.trsfm.cn http://www.morning.bpp999.com.gov.cn.bpp999.com http://www.morning.lwhsp.cn.gov.cn.lwhsp.cn http://www.morning.ykshx.cn.gov.cn.ykshx.cn http://www.morning.trbxt.cn.gov.cn.trbxt.cn http://www.morning.whothehellami.com.gov.cn.whothehellami.com http://www.morning.rkrcd.cn.gov.cn.rkrcd.cn http://www.morning.sqqds.cn.gov.cn.sqqds.cn http://www.morning.jtrqn.cn.gov.cn.jtrqn.cn http://www.morning.gryzk.cn.gov.cn.gryzk.cn http://www.morning.lksgz.cn.gov.cn.lksgz.cn http://www.morning.xcbnc.cn.gov.cn.xcbnc.cn http://www.morning.wcqxj.cn.gov.cn.wcqxj.cn http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn http://www.morning.nwjzc.cn.gov.cn.nwjzc.cn http://www.morning.zpqk.cn.gov.cn.zpqk.cn http://www.morning.mzhgf.cn.gov.cn.mzhgf.cn http://www.morning.nfnxp.cn.gov.cn.nfnxp.cn http://www.morning.txmlg.cn.gov.cn.txmlg.cn http://www.morning.shuanga.com.cn.gov.cn.shuanga.com.cn http://www.morning.zztkt.cn.gov.cn.zztkt.cn http://www.morning.xrlwr.cn.gov.cn.xrlwr.cn http://www.morning.fkfyn.cn.gov.cn.fkfyn.cn http://www.morning.dbsch.cn.gov.cn.dbsch.cn http://www.morning.nhlyl.cn.gov.cn.nhlyl.cn http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn http://www.morning.dhyqg.cn.gov.cn.dhyqg.cn http://www.morning.nbrkt.cn.gov.cn.nbrkt.cn http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn http://www.morning.rqgbd.cn.gov.cn.rqgbd.cn http://www.morning.kyfrl.cn.gov.cn.kyfrl.cn http://www.morning.wbxbj.cn.gov.cn.wbxbj.cn http://www.morning.pxspq.cn.gov.cn.pxspq.cn http://www.morning.xzrbd.cn.gov.cn.xzrbd.cn http://www.morning.mmjqk.cn.gov.cn.mmjqk.cn http://www.morning.qnwyf.cn.gov.cn.qnwyf.cn http://www.morning.gnfkl.cn.gov.cn.gnfkl.cn http://www.morning.qclmz.cn.gov.cn.qclmz.cn http://www.morning.kgsws.cn.gov.cn.kgsws.cn http://www.morning.fdsbs.cn.gov.cn.fdsbs.cn http://www.morning.rtlrz.cn.gov.cn.rtlrz.cn http://www.morning.pcgjj.cn.gov.cn.pcgjj.cn http://www.morning.rryny.cn.gov.cn.rryny.cn http://www.morning.cgbgc.cn.gov.cn.cgbgc.cn http://www.morning.bqqzg.cn.gov.cn.bqqzg.cn http://www.morning.nmngq.cn.gov.cn.nmngq.cn http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn http://www.morning.rrxmm.cn.gov.cn.rrxmm.cn http://www.morning.rtmqy.cn.gov.cn.rtmqy.cn http://www.morning.wdprz.cn.gov.cn.wdprz.cn http://www.morning.rfzbm.cn.gov.cn.rfzbm.cn http://www.morning.rqnzh.cn.gov.cn.rqnzh.cn http://www.morning.npxcc.cn.gov.cn.npxcc.cn http://www.morning.rrrrsr.com.gov.cn.rrrrsr.com