当前位置: 首页 > news >正文

web-worker 基本使用

Web Workers 是浏览器中的一项技术,它允许在独立的线程中运行 JavaScript 代码,从而避免主线程阻塞。这对于执行长时间运行的计算、处理大量数据或执行其他 CPU 密集型任务非常有用。下面是一个简单的使用 Web Workers 的示例,包括主线程和工作线程的代码。

主线程的代码:

<!-- 创建一个按钮,点击按钮时启动Web Worker -->
<button onclick="startWebWorker()">启动 Web Worker</button><!-- 显示来自Web Worker的消息 -->
<div id="output"></div><script>// 创建 Web Workerlet myWorker = new Worker('./worker.js');// 处理来自 Web Worker 的消息myWorker.onmessage = function (e) {document.getElementById('output').textContent = e.data;};// 启动 Web Worker 的函数function startWebWorker() {// 向 Web Worker 发送消息myWorker.postMessage('我是主线程');}
</script>

worker.js 代码如下:

// worker.js// 监听来自主线程的消息
onmessage = function (e) {// 处理主线程发送的消息const messageFromMain = e.data;// 向主线程发送消息formatJSON(messageFromMain);
};const formatJSON =  function (date){setTimeout((e) =>{// 模拟处理大量数据的过程postMessage('数据处理完成');},2000)
}
http://www.lryc.cn/news/227392.html

相关文章:

  • SpringBoot使用@PropertySource读取 properties 配置
  • 100天精通风控建模(原理+Python实现)——第5天:风控建模中数据标准化是什么?
  • find和grep命令的简单使用
  • 力扣:164. 最大间距(Python3)
  • 游戏平台采集数据
  • CSS让两个标签在同一行显示并自适应宽度
  • Leetcode154. Find Minimum in Rotated Sorted Array II
  • 【分析思路】测试数据分析思路
  • 链表的实现(文末附完整代码)
  • asp.net core 获取服务实例的几种方式
  • 指标体系:洞察变化的原因
  • Dell戴尔灵越Inspiron 7700 AIO一体机电脑原厂预装Windows10系统
  • 系统架构主题之九:软件设计模式及其应用
  • Spring IoC注解式开发
  • 智能一体化管网水位监测仪怎么样?
  • 个人网厅——销户
  • 通过创建自定义标签来扩展HTML
  • Nacos热更新
  • CSS3 中 transition 和 animation 的属性分别有哪些
  • 【狂神说Java】Nginx详解
  • 【第六章】软件设计师 之 数据结构与算法基础
  • Git基本概念和使用方式
  • Falcon构建轻量级的REST API服务
  • 【Python】python读取,显示,保存图像的几种方法
  • k8s系列-kuboard 该操作平台的使用操作
  • 基于讯飞星火大语言模型开发的智能插件:小策问答
  • 笔记:AI量化策略开发流程-基于BigQuant平台(二)
  • 100127. 给小朋友们分糖果 II
  • 【2】Spring Boot 3 项目搭建
  • 【第七章】软件设计师 之 程序设计语言与语言程序处理程序基础