node.js - Web Worker 的问题
问题描述
我有一个需要使用 Worker 进行繁重工作的 React 应用程序。如果我做一个简单的任务,它通常是“postMessage”,但如果这是我真正想要发生的任务,工人似乎甚至没有被调用!
----- 工作测试: -----
onmessage = function(e){
postMessage("oi");
};
呼叫者,召集者:
useEffect(() => {
function startGenerationKeys() {
const worker = new Worker('jobs/KeysPair.js');
worker.postMessage("start");
worker.onmessage = function(e) {
console.log(e.data);
}
}
startGenerationKeys();
}, []);
----- 真正的工人: -----
import NodeRSA from 'node-rsa';
onmessage = function(e){
const keysPair = new NodeRSA({ b: 4096 });
const pubKey = keysPair.exportKey('public').replace(/(\r\n|\n|\r)/gm,"");
const privKey = keysPair.exportKey('private');
postMessage({
pubKey,
privKey
});
};
呼叫者,召集者:
useEffect(() => {
function startGenerationKeys() {
const worker = new Worker('jobs/KeysPair.js', {type: 'module'});
worker.postMessage("start");
worker.onmessage = function(e) {
console.log(e.data);
}
}
startGenerationKeys();
}, []);
解决方案
推荐阅读
- django-rest-framework - 为什么获取视图 firstapp.views.perticular_customers 没有返回 HttpResponse 对象。它在 DRF 中返回 None 而不是?
- apache-kafka - 如何排出kafka主题中的记录
- snowflake-cloud-data-platform - 现在是否在公共预览版中提供基于 SQL 语言的过程功能
- android - 在 Compose 中将内容包装到具有剪裁形状的文本?
- css - 滚动div内的CSS div定位
- javascript - 使用多个 if 和对象键改进代码,javascript 中的值
- java - 不显示要移动到 JFrame 的图像
- node.js - npm init 不起作用,ENOENT:没有这样的文件或目录
- directory - 如何修复无限递归文件夹?
- kotlin - 如何在kotlin中将函数的返回类型设置为mutableListOf