javascript - 网络工作者集成
问题描述
我想使用网络工作者来处理我的邮政编码检查器功能,我以前没有使用过网络工作者,所以这个概念对我来说是新的
这是我的邮政编码功能
``
function checkZipCode() {
event.preventDefault();
if(document.getElementById('zipcode').value < 20000) {
document.getElementById('zip-result').innerHTML = 'Sorry, we haven’t expanded to that area yet';
} else if (document.getElementById('zipcode').value >= 20000) {
document.getElementById('zip-result').innerHTML = 'We’ve got your area covered!'
} else {
return null
}
};
解决方案
根据文档工作者很容易启动:
//in a JS file
const myWorker = new Worker('./myWorker.js');//worker requested and top-level scope code executed
myWorker.postMessage('hello');
myWorker.addEventListener('message', e => {
//e.data will hold data sent from worker
const message = e.data;
console.log(message); // HELLO
//if it's just a one-time thing, you can kill the worker
myWorker.terminate();
}
myWorker.addEventListener('error', e => {//worker might throw an error
e.preventDefault();
console.log(e.message, `on line ${e.lineno}`);
});
//myWorker.js
//run whatever you need, just no DOM stuff, no window etc
console.log('this line runs when worker loads');
addEventListener('message', (e) => {
postMessage(e.data.toUpperCase());//up-case message and send it right back
});
推荐阅读
- jquery - 如何将css添加到与搜索框中的单词匹配的div中的单词?
- php - 无法删除我在购物篮中的第一件商品
- c++ - 用于非基于零的数组指针分配的 C++ gcc 扩展?
- node.js - 使用 NodeJS 从 Google Cloud Storage Bucket 下载文件夹
- prestashop - 我在 prestashop 1.7.5.1 的后台有问题
- javascript - NullInjectorError:在Angular 2中测试时的StaticInjectorError(DynamicTestModule)
- java - Firebase 连接问题
- visual-studio-code - eslint 正在运行但未显示任何 lint 错误/警告
- ruby - 这个红宝石片段有什么作用?
- angular6 - 如何在Angular 6(反应形式)中的文本框内输入时读取文本框的值