首页 > 解决方案 > Typescript Postmessage 失败,有一个参数,两个

问题描述

有打字稿项目。

当这个:postMessage(result);

我明白了。。

Expected 2-3 arguments, but got 1.预期 2-3 个参数,但得到 1 个。

当这个:postMessage(result, '*');

我明白了。。

Uncaught TypeError: Failed to execute 'postMessage' on 'DedicatedWorkerGlobalScope': Overload resolution failed.
    at runParser

Typescript 在这里想要什么?是一两个论据吗?为什么这会引起问题?

标签: typescript

解决方案


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

event.ports[0].postMessage(data)

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

window.postMessage(data, origin, [transfer])

推荐阅读