首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript Postmessage因一个参数和两个参数而失败

Typescript Postmessage因一个参数和两个参数而失败
EN

Stack Overflow用户
提问于 2020-10-18 09:23:36
回答 2查看 874关注 0票数 5

有Typescript项目。

出现这种情况时:postMessage(result);

我明白了..。

Expected 2-3 arguments, but got 1.需要2-3个参数,但得到了1个参数。

出现这种情况时:postMessage(result, '*');

我明白了..。

代码语言:javascript
复制
Uncaught TypeError: Failed to execute 'postMessage' on 'DedicatedWorkerGlobalScope': Overload resolution failed.
    at runParser

Typescript在这里想要什么?是一个参数还是两个参数?为什么这会引起问题呢?

EN

回答 2

Stack Overflow用户

发布于 2021-02-06 04:30:45

如果使用MessageChannel的端口postMessage函数,则只需传递一个参数。

代码语言:javascript
复制
event.ports[0].postMessage(data)

如果你使用的是window.postMessage,那么你必须传递2到3个参数。

代码语言:javascript
复制
window.postMessage(data, origin, [transfer])
票数 2
EN

Stack Overflow用户

发布于 2021-06-15 20:06:05

您将不得不将webworker添加到您的tsconfig.json中,或者为您的worker创建一个单独的TS项目,因为postMessage在workerbrowser环境中具有不同的应用编程接口。

代码语言:javascript
复制
"compilerOptions" : {
    "lib": [
        "webworker"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64408851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档