машинная ошибка onmessage - PullRequest
0 голосов
/ 03 мая 2018

Я не могу получить машинописный текст, чтобы скомпилировать простой фрагмент кода ниже. Даже если я установлю параметр ev типа MessageEvent.

Я пробовал с машинопись 2.8.3 и 2.9.0.

Сообщение об ошибке

Ошибка: (262, 22) TS2345: Аргумент типа '(ev: any) => void' не может быть назначен параметру типа 'MessageEvent'. Свойство 'data' отсутствует в типе '(ev: any) => void'.

фрагмент кода

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"
    ]
  }
}

1 Ответ

0 голосов
/ 04 мая 2018

Заменить это:

worker.onmessage((ev) => {
  console.log(ev.data);
});

С этим:

worker.onmessage = (ev) => {
  console.log(ev.data);
};
...