web worker


title: worker
date: 2018-02-26 17:08:22
tags:


web worker 运行在后台的javascript, 不会影响页面的性能。

一些高计算量和高延迟的工作可以交给子线程

兼容最新的浏览器,ie10+

// web_worker.js
// 创建新的子线程
var worker = new Worker('child_worker.js');

// 主线程向子线程发送消息
worker.postMessage("hello, world!");

// 主线程通过message事件接受子线程发送的消息
worker.onmessage = function (e) {
    console.log(e.data);
}

// 主线程监听子线程是否发生错误
// 发生错误可以出发主线程的error事件
worker.onerror = function (e) {
    console.log(e);
}

worker.terminate() //终止进程

// child_worker.js
self.onmessage = function (e) {
    console.log('Fa Said:' + e.data);
}

var arr =[]
for(var i=0; i<10000; i++){
  arr.push(i)
}

self.postMessage('msg from son!')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文发布在我的个人博客 初识Web Worker | 以太空间 一、概述   众所周知,不同于Java/C#这些编...
    风硕伊源阅读 3,649评论 0 2
  • 参考资料Web Workersweb worker详解Blob对象 Web Worker分为专属Worker(De...
    Lxylona阅读 4,110评论 0 5
  • 今天谈谈什么是逻辑吧! 逻辑这东西太重要了,同时也是一个完全不能避开的话题。 逻辑这东西和理性好像是双胞胎姐妹,傻...
    QimuAI阅读 1,813评论 0 0
  • 生命对我们是很宽容的。常会给你满目喜悦,即便是残荷听雨,也是一种意境之美。 就像你不小心蹭破了点皮,生命会让它愈合...
    顺水心情阅读 3,038评论 4 1
  • 感恩2018年的到来……太多太多的感动……2017忘掉忘掉……准备离开15楼 2018加油加油……感动感动……
    灿宝儿阅读 858评论 0 0