2017-11-15 7 views
2

Ichfehlgeschlagen ‚postmessage‘ auf ‚DedicatedWorkerGlobalScope‘ ausführen: Der angegebene Wert kann nicht in einer Sequenz umgewandelt werden

Uncaught TypeError: Failed to execute 'postMessage' on 'DedicatedWorkerGlobalScope': The provided value cannot be converted to a sequence.

auf dieser Linie in einem Webworker den folgenden Fehler erhalten:

postMessage("hi", "http://localhost:8000"); 

(in der Tat, das ist die Gesamtheit des Webworker).

Die Basis-Datei enthält:

var myWorker = new Worker("test.js"); 
myWorker.onmessage = function (e) { 
    console.log('Message received from worker'); 
}; 

Ich bin nicht sicher, welchen Wert es beschwert sich über und ich bin nicht sicher, was es bedeutet, für sie zu einer „Sequenz“ umgewandelt werden.

+0

stand ich vor dem gleichen Problem, wenn sie auf das Routing in Angular Anwendung über plattform Webworker arbeiten. Es war nicht das Problem mit Webworker, sondern mit zone.js. Ist dein Problem ähnlich? –

Antwort

1

Das Ziel für die gesendete Nachricht ist implizit (entweder der Arbeiter Objekt der Funktion aufgerufen wird, oder das Skript, das den Arbeiter geschaffen, wenn aus dem Arbeiter namens So sollten Sie nur benutzen.

postMessage("hi"); 

Siehe: postMessage on MDN

Im Fall ist es sinnvoll, aus anderen Gründen für andere wie mich, die in dieses Problem, ich tat:

postMessage("type", value) 

Wenn ich vorhatte:

postMessage(["type", value]) 
Verwandte Themen