3 Stimmen

Wie erstelle ich Hintergrundthreads in JavaScript

Diese Frage wurde bereits gestellt und hier und hier beantwortet. Allerdings sind beide Threads 18+ Monate alt und die Dinge entwickeln sich schnell in der Javascript-Welt. Deshalb frage ich erneut, um eine aktuelle Antwort zu erhalten.

Für unsere Zwecke benötigen wir einen einzelnen Hintergrundthread, der ziemlich regelmäßig läuft. Es handelt sich um einen Rich-Editor und wann immer der Benutzer bearbeitet, muss dieser Hintergrundthread das Layout des Rich-Texts neu berechnen.

Es scheint, dass Web Workers der beste Ansatz sind. Allerdings heißt es laut Wikipedia "Es wird in neueren Android-Browserversionen entfernt".

Fragen:

  1. Sind Web Workers der beste Ansatz oder gibt es etwas Besseres?
  2. Gibt es Browser, die Web Workers in Zukunft nicht unterstützen werden? Und wenn ja, welche?
  3. Gibt es eine Liste, welche Versionen der Hauptbrowser für Web Workers erforderlich sind?

1voto

Aron Cederholm Punkte 5542

Ich würde WebWorkers als erste Option empfehlen.

Richtig, sie wurden in Android 2.2 entfernt, aber in 4.4 wieder hinzugefügt und werden nun von der neuesten Version aller wichtigen Plattformen unterstützt. Siehe http://caniuse.com/webworkers, um zu sehen, in welcher Version WebWorkers verfügbar sind.

Für Browser ohne Unterstützung für WebWorkers würde ich ein Fallback mit postMessage() oder setTimeout() empfehlen, wie im Detail in Javascript - wie man den Browser nicht blockiert, während man schwere Arbeiten erledigt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X