Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js web worker

作者:狂战天下   发布日期:2025-11-23   浏览:4

// main.js
// 创建一个 Worker 线程,传入 worker.js 文件路径
const worker = new Worker('worker.js');

// 发送消息给 Worker 线程
worker.postMessage('Start processing');

// 监听来自 Worker 线程的消息
worker.onmessage = function(event) {
  console.log('Message from worker:', event.data);
};

// worker.js
// 接收主线程发送的消息
onmessage = function(event) {
  console.log('Message from main script:', event.data);

  // 模拟一些耗时任务
  let result = 0;
  for (let i = 0; i < 1e9; i++) {
    result += i;
  }

  // 将结果发送回主线程
  postMessage(result);
};

解释说明:

  1. main.js:

    • 使用 new Worker('worker.js') 创建一个新的 Web Worker 线程,并指定 worker.js 文件作为 Worker 的执行脚本。
    • 使用 postMessage() 方法向 Worker 发送消息。
    • 使用 onmessage 事件监听器接收来自 Worker 的消息。
  2. worker.js:

    • 使用 onmessage 事件监听器接收来自主线程的消息。
    • 执行一些耗时的任务(例如循环计算)。
    • 使用 postMessage() 方法将结果发送回主线程。

通过这种方式,Web Worker 可以在后台线程中处理耗时任务,而不会阻塞主线程的执行。

上一篇:js array 是否包含

下一篇:js 请求接口

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组连接

js json数组

js 数组复制

js 复制数组

js 数组拷贝

js 对象数组合并

js 对象转数组

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站