首页JSwebworker实现不需要引用外部js文件运行

webworker实现不需要引用外部js文件运行

分类JS时间2024-09-11 15:30:37发布RustStream浏览40
摘要:应用场景 ==需要把worker代码和业务代码写到一个文件内== const code = ` onmessage = function(e { let { data } = e; let max = Math.max(data[0], data[data.length -1 ] postMessage({data, max} }` // 做法一: ObjectUrl const blob = new Blob([code], { type: 'application/javascript' } const url = URL.createObjectURL(blob console.log(url // blob:null/82bcf279-3f19-43f4-96c0-207171f8f612 // 做法二:DataUrl const url = `data:application/javascript;utf8,${code}` console.log(url // data:application/javascript;utf8,onmessage = function(e {let { data } = e;let max = Math.max(data[0], data[data.length -1 ] postMessage({data, max} } const worker = new Worker(url worker.onmessage = function({data} { console.log(`${data.data}中最大的值为${data.max}` } worker.postMessage([Math.floor(Math.random( * 15 , Math.<!--autointro-->...

应用场景

需要把worker代码和业务代码写到一个文件内

const code = `
    onmessage = function(e){
        let { data } = e;
        let max = Math.max(data[0], data[data.length -1 ])
        postMessage({data, max})
}`


// 做法一: ObjectUrl
const blob = new Blob([code], { type: 'application/javascript' })
const url = URL.createObjectURL(blob)
console.log(url) // blob:null/82bcf279-3f19-43f4-96c0-207171f8f612

// 做法二:DataUrl
const url = `data:application/javascript;utf8,${code}`

console.log(url) 
// data:application/javascript;utf8,onmessage = function(e){let { data } = e;let max = Math.max(data[0], data[data.length -1 ]) postMessage({data, max})}




const worker = new Worker(url)
worker.onmessage = function({data}){
    console.log(`${data.data}中最大的值为${data.max}`)
}
worker.postMessage([Math.floor(Math.random() * 15), Math.floor(Math.random() * 15)])

本文链接:https://blog.smallhao.fun/?id=16 转载需授权!

分享到:

Chen’Blog版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

JavaScript
同时插入大量数据优化 scss实现网格布局中的移入动画

游客 回复需填写必要信息
召唤伊斯特瓦尔