应用场景
需要把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 转载需授权!
暂无评论
发表评论