美文网首页
Web Worker简介

Web Worker简介

作者: 花泽冒菜 | 来源:发表于2018-10-09 18:04 被阅读0次

JavaScript采用的是单线程模型,Web Worker的作用就是为JavaScript创造多线程环境。在主线程以外,创建Worker线程在后台运行,不影响主线程,常用来处理一些计算密集型或高延迟的任务。
Worker线程一旦创建成功就会持续运行,就不会被主线程的活动打断。

下面介绍Worker最基本的使用方法,想要了解详细内容,请参见阮一峰老师的日志:
http://www.ruanyifeng.com/blog/2018/07/web-worker.html

主线程
  1. 新建
var worker = new Worker('worker.js');
  1. 发送数据
worker.postMessage(someData);  // someData可以是任何类型的数据
  1. 接收数据
worker.onmessage = function (event) {
  console.log('Received message: ' + event.data);  // 事件对象的data属性访问发来的数据
}
  1. 关闭Worker线程
worker.terminate();
Worker线程
  1. 接收数据
self.onmessage =  function (e) {
  console.log('Received message: ' + event.data);  // 事件对象的data属性访问发来的数据
}
  1. 发送消息
self.postMessage(someData);  // someData可以是任何类型的数据
  1. 关闭Worker线程
self.close();

常用写法示例:

self.addEventListener('message', function (e) {
  var data = e.data;
  switch (data.cmd) {
    case 'start':
      self.postMessage('WORKER STARTED: ' + data.msg);
      break;
    case 'stop':
      self.postMessage('WORKER STOPPED: ' + data.msg);
      self.close(); // Terminates the worker.
      break;
    default:
      self.postMessage('Unknown command: ' + data.msg);
  };
}, false);

相关文章

  • Web Worker简介

    JavaScript采用的是单线程模型,Web Worker的作用就是为JavaScript创造多线程环境。在主线...

  • Web Worker简介

    Web Worker是 运行在后台的javascript,也就是说worker其实就是就一个js文件对象,work...

  • web worker的介绍和使用

    简介 什么是web worker呢?从名字上就可以看出,web worker就是在web应用程序中使用的worke...

  • web worker 处理多文件并行上传

    一 web worker: 什么是web worker Web Worker为Web内容在后台线程中运行脚本提供...

  • Javascript:Web Worker基础

    参考资料Web Workersweb worker详解Blob对象 Web Worker分为专属Worker(De...

  • web worker

    web Worker web Worker 文件单独写在一个文件中,在main worker 中 执行的文件里使用...

  • Web Worker

    一、Web Worker 1. Web Worker是 运行在后台的javascript,也就是说worker其实...

  • 为你写的网页“提速”---Web Worker

    认识Web Worker Web Worker是 运行在后台的javascript,也就是说worker其实就是就...

  • Web Worker

    什么是Web Worker? Web Worker是 运行在后台的javascript,也就是说worker其实就...

  • NFH.009 - Web Worker与Web Socket

    12.22学习经验分享# Bruce_Zhu于2016.12.23 一、Web Worker Web Worker...

网友评论

      本文标题:Web Worker简介

      本文链接:https://www.haomeiwen.com/subject/atryaftx.html