Typescript Postmessage mislykkes med ett argument, og to
Ha Typescript-prosjekt.
Når dette: postMessage(result);
Jeg forstår dette..
Forventet 2-3 argumenter, men fikk 1.Forventet 2-3 argumenter, men fikk 1.
Når dette: postMessage(result, '*');
Jeg forstår dette..
Uncaught TypeError: Failed to execute 'postMessage' on 'DedicatedWorkerGlobalScope': Overload resolution failed.
at runParser
Hva vil Typescript her? Er det ett eller to argumenter? Og hvorfor forårsaker dette et problem?
Svar #1
Hvis du bruker MessageChannels port postMessage-funksjon, må du sende bare én parameter.
event.ports[0].postMessage(data)
Hvis du bruker window.postMessage, må du sende med 2 eller 3 parametere.
window.postMessage(data, origin, [transfer])
Svar #2
Du må legge til webworker i tsconfig.json-en din eller opprette et eget TS-prosjekt for arbeideren din, fordi postMessage har en annen API i arbeideren og i nettlesermiljøet.
"compilerOptions" : {
"lib": [
"webworker"
