Postmessage dattiloscritto fallisce con un argomento e due

Oct 18 2020

Avere un progetto Typescript.

Quando questo: postMessage(result);

Ho capito ...

Expected 2-3 arguments, but got 1.Previsti 2-3 argomenti, ma ottenuto 1.

Quando questo: postMessage(result, '*');

Ho capito ...

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

Cosa vuole Typescript qui? Sono uno o due argomenti? E perché questo causa un problema?

Risposte

JoanPM Feb 06 2021 at 03:30

Se stai usando la funzione port postMessage di MessageChannel, devi passare solo un parametro.

event.ports[0].postMessage(data)

Se stai usando window.postMessage, devi passare 2 o 3 parametri.

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