Typecript Postmessage gagal dengan satu argumen, dan dua

Oct 18 2020

Memiliki proyek Ketikan.

Kapan ini: postMessage(result);

Saya mengerti ..

Expected 2-3 arguments, but got 1.Mengharapkan 2-3 argumen, tetapi mendapat 1.

Kapan ini: postMessage(result, '*');

Saya mengerti ..

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

Apa yang diinginkan Typecript di sini? Apakah itu satu atau dua argumen? Dan mengapa ini menyebabkan masalah?

Jawaban

JoanPM Feb 06 2021 at 03:30

Jika Anda menggunakan fungsi postMessage port MessageChannel, maka Anda hanya perlu memberikan satu parameter.

event.ports[0].postMessage(data)

Jika Anda menggunakan window.postMessage, Anda harus meneruskan 2 atau 3 parameter.

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