网站效果检测,网站开发代理合同,怎么在自己的网站做淘宝客,如何建设众筹网站背景
Web Workers是一个API#xff0c;允许在浏览器中运行后台处理任务#xff0c;而不影响用户界面#xff08;UI#xff09;线程的稳定性。
Web Workers 可用于消除阻止 UI 的耗时任务#xff0c;如图表生成#xff0c;物理模拟或数据分析等#xff1a;
使用 Web W…背景
Web Workers是一个API允许在浏览器中运行后台处理任务而不影响用户界面UI线程的稳定性。
Web Workers 可用于消除阻止 UI 的耗时任务如图表生成物理模拟或数据分析等
使用 Web Workers
启动和终止
一个web worker 由一个文件创建它正常情况下位于主线程之外。可以使用 JavsScript 的 Worker() 构造函数来创建并启动 Worker const worker new Worker(worker.js);要终止 Worker请使用 terminate() 方法
worker.terminate();通信
Web workers 使用 消息传输 机制 (message-passing mechanism) 来与主线程进行通信
主线程可以通过 postMessage() 方法将消息发送给 Worker:worker.postMessage(Hello World!);Worker 可以使用 onmessage 处理函数来接受主线程发送的消息
worker.onmessage function(event) {console.log(event.data); // Prints Hello Worker!
});示例
以下代码演示了如何使用 web workers 运行一个耗时任务
主文件main.js
var worker new Worker(worker.js);// Send a message to the worker
worker.postMessage(start);// Handle messages sent by the worker
worker.onmessage function(event) {console.log(Received message from worker, event.data);
};工作者文件worker.js
// Receive messages from the main script
onmessage function(event) {if (event.data start) {// Run expensive taskvar result doExpensiveTask(); // Send message to main script postMessage(result);}
};