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

js worker

作者:碎花洋裙的优雅   发布日期:2025-07-30   浏览:91

// 主线程代码 (main.js)
const worker = new Worker('worker.js');

worker.postMessage('Hello from main thread!');

worker.onmessage = function(event) {
  console.log('Message from worker:', event.data);
};

worker.onerror = function(error) {
  console.error('Worker error:', error.message);
};

// Worker 线程代码 (worker.js)
self.onmessage = function(event) {
  console.log('Message from main thread:', event.data);
  self.postMessage('Hello from worker!');
};

self.onerror = function(error) {
  console.error('Error in worker:', error.message);
};

解释说明:

  1. 主线程代码 (main.js):

    • 创建一个新的 Worker 实例,指向包含 worker 代码的文件 (worker.js)。
    • 使用 postMessage 方法向 worker 发送消息。
    • 监听来自 worker 的消息,并在接收到消息时打印到控制台。
    • 监听 worker 中的错误,并在发生错误时打印错误信息。
  2. Worker 线程代码 (worker.js):

    • 监听来自主线程的消息,并在接收到消息时打印到控制台。
    • 使用 postMessage 方法向主线程发送消息。
    • 监听 worker 中的错误,并在发生错误时打印错误信息。

通过这种方式,主线程和 worker 线程可以相互通信并处理任务,而不会阻塞主线程。

上一篇:js ref

下一篇:js nan

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js json数组

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 点击空白区域触发事件

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

Laravel 中文站