Postmessage Typescript échoue avec un argument et deux

Oct 18 2020

Avoir un projet Typescript.

Quand ceci: postMessage(result);

J'ai compris..

Expected 2-3 arguments, but got 1.Attendu 2-3 arguments, mais obtenu 1.

Quand ceci: postMessage(result, '*');

J'ai compris..

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

Que veut Typescript ici? S'agit-il d'un ou deux arguments? Et pourquoi cela pose-t-il un problème?

Réponses

JoanPM Feb 06 2021 at 03:30

Si vous utilisez la fonction postMessage de port de MessageChannel, vous ne devez passer qu'un seul paramètre.

event.ports[0].postMessage(data)

Si vous utilisez window.postMessage, vous devez passer 2 ou 3 paramètres.

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