web前端全系列 教程
1839个小节阅读:2243.2k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Web Worker
的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程
,将一些任务分配给它运行。
在主线程运行的同时,Worker 线程
在后台运行,两者互不干扰。等到 Worker 线程
完成计算任务,再把结果返回给主线程。
检测浏览器是否支持 Web Worker
xxxxxxxxxx
if(typeof(Worker)!=="undefined")
{
// 是的! Web worker 支持!
}
else
{
// //抱歉! Web Worker 不支持
}
创建 Web Worker 对象
,new Worker(脚本文件)
xxxxxxxxxx
w = new Worker("./demo_workers.js");
定义worker
具体任务
xxxxxxxxxx
//demo_workers.js
var i=0
setInterval(function(){
i=i+1
postMessage(i)
},1000)
worker
发送接收消息
发送消息,postMessage(消息)
xxxxxxxxxx
//demo_workers.js
var i = 0;
setTimeout(function(){
i=i+1
postMessage(i)//使用postMessage(数据)发送
},3000)
添加onmessage
事件监听器,监听接收消息,访问event.data
获得消息
xxxxxxxxxx
w.onmessage = function (event) {
document.getElementById("result").innerHTML = event.data;
};
关闭worker
xxxxxxxxxx
w.terminate();
Worker 线程无法读取本地文件,即不能打开本机的文件系统(
file://
),它所加载的脚本,必须来自网络。
实时效果反馈
1.使用下列哪种方法可以发送消息:
A onMessage
B postMessage
答案
1=>B