Typescript Postmessage schlägt mit einem Argument und zwei fehl

Oct 18 2020

Haben Sie Typescript-Projekt.

Wenn das: postMessage(result);

Ich verstehe das ..

Expected 2-3 arguments, but got 1.Erwartete 2-3 Argumente, bekam aber 1.

Wenn das: postMessage(result, '*');

Ich verstehe das ..

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

Was will Typescript hier? Ist es ein oder zwei Argumente? Und warum verursacht dies ein Problem?

Antworten

JoanPM Feb 06 2021 at 03:30

Wenn Sie die Port-PostMessage-Funktion von MessageChannel verwenden, müssen Sie nur einen Parameter übergeben.

event.ports[0].postMessage(data)

Wenn Sie window.postMessage verwenden, müssen Sie 2 oder 3 Parameter übergeben.

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