HTML5 Web Worker之性能优化
// 假设我们有一个大型数组需要在Web Worker中处理
const largeArray = new Array(10000).fill(null).map(() => Math.random());
// 创建Web Worker
const worker = new Worker('worker.js');
// 向Worker发送数据
worker.postMessage(largeArray);
// 监听Worker的消息
worker.onmessage = function(event) {
// 处理Worker返回的结果
console.log('Worker 处理完毕,结果:', event.data);
};
// 在worker.js中
self.onmessage = function(event) {
// 接收主线程发送的数据
const array = event.data;
// 对数组进行处理,例如计算总和
const sum = array.reduce((a, b) => a + b, 0);
// 发送处理结果回主线程
self.postMessage(sum);
};
这个例子展示了如何创建一个Web Worker来处理一个大型数组的计算任务,并将结果发送回主线程。这种方法可以帮助提高应用程序的性能,因为计算密集型的任务不会阻塞主线程,从而提高用户体验。
评论已关闭