我无法获取typescript来编译下面的简单代码片段。 即使我将参数ev设置为MessageEvent类型。
我尝试过使用typescript 2.8.3和2.9.0。
错误消息
错误:(262,22)TS2345:类型'(ev:any)=>的参数void'不能分配给'MessageEvent'类型的参数。 类型'(ev:any)=>中缺少属性'数据'无效”。
代码snipet
const worker = new Worker('./worker/render-worker.ts');
worker.onmessage((ev) => {
console.log(ev.data);
});
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"sourceMap": true,
"inlineSourceMap": false,
"inlineSources": false,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es6",
"lib": [
"es2017",
"scripthost",
"webworker",
"dom"
]
}
}
答案 0 :(得分:1)
替换它:
worker.onmessage((ev) => {
console.log(ev.data);
});
有了这个:
worker.onmessage = (ev) => {
console.log(ev.data);
};