使用 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)
}

 

posted on 2018-03-27 17:38  道法自然-法力无边  阅读(400)  评论(0编辑  收藏  举报

导航