- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想像这样创建一个 Web Worker:
const blob = URL.createObjectURL(new Blob([`
...
`], {type: 'text/javascript'}))
const worker = new Worker(blob)
但是在 Deno 中这样做时我得到:
error: Uncaught NotSupported: Classic workers are not supported.
const worker = new Worker(blob)
^
我在谷歌上搜索了这条消息“不支持经典 worker ”,我基本上没有发现任何解释其背后的历史或具体含义的信息。我发现了一些关于创建 worker 的特殊 Deno 方法:
const worker = new Worker(new URL("worker.js", import.meta.url).href, {
type: "module",
deno: true,
});
worker.postMessage({ filename: "./log.txt" });
但它似乎不能满足我的需求,因为我特别需要从字符串(或至少从运行时传递的任意函数)动态初始化工作程序。
有什么方法可以在 Deno 中完成我需要做的事情吗?
编辑:我确实设法在文档中找到了这个页面(出于某种原因,Deno 的文档在搜索引擎中无法找到结果),尽管这不是个好兆头,因为听起来没有办法做我想做的事我需要做 https://deno.land/manual/runtime/web_platform_apis#web-worker-api
最佳答案
Deno 目前不支持“经典”worker。
来自 Worker() - Web APIs | MDN :
type
: ADOMString
specifying the type of worker to create. The value can beclassic
ormodule
. If not specified, the default used isclassic
.
Currently Deno supports only
module
type workers; thus it's essential to pass thetype: "module"
option when creating a new worker.
对于您的用例,您可以使用 data URL .例如:
new Worker(
`data:text/javascript;base64,${btoa(
`console.log("hello world"); self.close();`
)}`,
{ type: "module" }
);
关于javascript - 德诺: "Classic workers are not supported"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69276975/
我是操作系统新手,我正在尝试执行下面提到的以下命令,但无法解决它不起作用的原因。 我正在尝试执行命令 ls -l | grep D|grep De 这是我的代码 - #include #include
我是一名优秀的程序员,十分优秀!