封装的一个Worker方法,利用线程处理运行时间较长的js代码

function  webWorker(targetFile,content){
    var promise=new Promise(function(resolve,reject){
        var web=new Worker(targetFile);//创建实例
        web.onmessage=function(event){//接收消息
            resolve(event.data);
        }
        web.postMessage(content);//发送消息
    })
    return promise;
}



webWorker("./drag.js","咪咕直播").then(function(res){
    console.log(res)//咪咕直播migu
})

  drag.js

importScripts('./obj.js')//引入其他文件
self.onmessage=function(event){//接收消息
    self.postMessage(event.data+name)//发送消息
}

  obj.js

var name="migu"

  

原文地址:https://www.cnblogs.com/liuhao-web/p/7211329.html