我希望我的组件在工作线程上侦听自定义事件。
是否可以通过stenciljs与网络工作者合作处理自定义事件?
答案 0 :(得分:0)
可以在Web Components中实现Web Workers,就像您无需使用该方法一样。
my-web-component.js
...
connectedCallback() {
const worker = new Worker('doWork.js');
worker.addEventListener('message', function(e) {
console.log(e.data);
}, false);
}
...
doWork.js
self.addEventListener('message', function(e) {
var data = e.data;
switch (data.cmd) {
case 'average':
var result = calculateAverage(data); // Some function that calculates the average from the numeric array.
self.postMessage(result);
break;
default:
self.postMessage('Unknown command');
}
}, false);