使用 Web Workers 来处理大量数据
main.js
let woker = new Worker('worker.js') // 创建一个新的worker,指定一个脚本的URI来执行worker线程 // 通过postMessage() 方法和onmessage事件处理函数生效 woker.onmessage = ({data: arr}) => { // worker.js 处理完成之后返回回来的 console.log(arr) } woker.postMessage('start')
worker.js
onmessage = arr => { console.log('开始') var arr = [] for (let i = 0; i < 1000000; i++) { arr.push(Math.random()) } let st = new Date() arr.sort() let et = new Date() console.log('排序完成,耗时:' + (et - st)) postMessage(arr) }