Frage

Ich bin für reale Szenarien für den Einsatz von Web Worker API .

War es hilfreich?

Lösung

  • John Resig (von jQuery Ruhm) hat ein paar interessante Beispiele für die Verwendung hier Web-Arbeiter - Spiele, Grafiken, Krypto

  • .
  • Eine andere Anwendung ist Web I / O - mit anderen Worten, Polling-URLs im Hintergrund. Auf diese Weise können Sie die Benutzeroberfläche nicht blockieren für Umfrageergebnisse warten.

  • Eine weitere praktische Anwendung: in Bespin, verwenden sie Web Worker die Syntaxhervorhebung zu tun, die Sie nicht wollen Ihren Code Bearbeitung blockieren, während Sie die App verwenden .

  • Mozilla : Eine Möglichkeit, Arbeiter nützlich sind, ist der Code zu ermöglichen, auszuführen prozessorintensive Berechnungen ohne die Benutzeroberfläche Thread blockiert.

    Als praktisches Beispiel, denken Sie an einer App, die eine große Tabelle von # s hat (diese reale Welt, BTW - genommen von einer app, die ich programmierte ~ 2 Jahre). Sie können ein # in einer Tabelle über Eingabefeld und ein paar anderen Zahlen ändern in verschiedenen Spalten neu berechneten in einem ziemlich intensiven Prozess.

    Der alte Workflow war: Ändern Sie den #. Go erhalten Kaffee, während JavaScript knirscht durch Änderungen an anderen Zahlen und die Webseite für 3 Minuten nicht reagiert - nachdem ich es in die Hölle und wieder optimiert. Get Back mit Kaffee. Ändern Sie eine zweite #. Wiederholen Sie viele Male. Klicken Sie auf Speichern.

    Der neue Workflow mit den Arbeitern könnten sein: Ändern Sie den #. Holen Sie sich eine Statusmeldung, dass etwas neu berechnet wird, aber Sie können andere # s ändern. Ändern Sie mehr # s. Wenn Sie damit fertig zu ändern, warten, bis Status ändert sich auf „alle Berechnungen abgeschlossen ist, können Sie jetzt die letzten # s überprüfen und speichern“.

Andere Tipps

Ich habe sich für das Senden von größeren Datenmengen vom Browser zum Server verwendet wird. Natürlich können Sie diese mit regelmäßigen AJAX Anrufe tun, aber wenn dies nimmt einen der wertvollen Verbindungen pro Host-Namen auf. Auch, wenn der Benutzer hat einen Seitenübergang während dieses Prozesses (z klickt auf einen Link), Ihre JavaScript-Objekte aus der vorherige Seite geht weg und Sie können nicht Rückrufe verarbeiten. Wenn ein Web-Arbeiter verwendet wird, geschieht diese Aktivität der Band aus, so dass Sie eine bessere Garantie, dass es abgeschlossen wird.

Ein weiterer Anwendungsfall:

Kompressions- / Dekomprimieren von Dateien im Hintergrund, wenn Sie viele Bilder und anderen Mediendateien, die vom Server in einem komprimierten Format ausgetauscht werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top