Während der Webentwicklung kommt es häufig vor, dass der Browser nicht auf Ereignisse reagiert und in den Zustand einer angehaltenen Animation wechselt oder sogar die Meldung „Skriptlaufzeit zu lang“ anzeigt Das Skript ist außer Kontrolle. Ein Browser verfügt über mindestens drei Threads: JS-Engine-Thread (Verarbeitung von JS), GUI-Rendering-Thread (Rendering-Seite) und Browser-Ereignis-Trigger-Thread (Steuerung der Interaktion). 1: Die JavaScript-Engine basiert auf der ereignisgesteuerten Single-Thread-Ausführung. Die JS-Engine hat auf das Eintreffen von Aufgaben in der Aufgabenwarteschlange gewartet und diese dann verarbeitet. Der Browser verfügt zu jedem Zeitpunkt über nur einen JS-Thread, der das JS-Programm ausführt . 2: Der GUI-Rendering-Thread ist für das Rendern der Browseroberfläche verantwortlich. Wenn die Schnittstelle neu gezeichnet werden muss (Repaint) oder ein Reflow durch einen bestimmten Vorgang verursacht wird, wird dieser Thread ausgeführt. Es ist jedoch zu beachten, dass sich der GUI-Rendering-Thread und die JS-Engine gegenseitig ausschließen. Wenn die JS-Engine ausgeführt wird, wird der GUI-Thread angehalten und das GUI-Update erfolgt
1 🎜>HTML5-WebWorker verhindern, dass der Browser die Animation anhält. Beispielcode-Freigabe
Einführung: Während der Webentwicklung haben wir Es kommt häufig vor, dass Browser nicht auf die Ereigniseingabe reagieren oder dass die Meldung „Skriptlaufzeit zu lang“ erscheint. Wenn dies geschieht, ist Ihr Skript außer Kontrolle geraten.
2. Detaillierte Einführung in Promise in JavaScript
Einführung: 1. Vorwort JavaScript ist Single-Threaded und kann jeweils nur eine Aufgabe ausführen. Wenn eine Aufgabe lange dauert, müssen nachfolgende Aufgaben warten. Gibt es also eine Möglichkeit, ein solches Problem zu lösen? (Lassen Sie WebWorker beiseite), das heißt, den Code asynchron ausführen zu lassen. Was bedeutet das? Wenn Sie beispielsweise eine asynchrone Ajax-Anfrage stellen, wird der Wert von readyState kontinuierlich überwacht, um die Ausführung der angegebenen Rückruffunktion zu bestimmen. Normalerweise gibt es drei Arten der asynchronen Ausführung: Rückruffunktionen, Ereignisüberwachung sowie Veröffentlichung und Abonnement. Ereignisüberwachung und Veröffentlichung und Abonnement sind tatsächlich ähnlich, letzteres ist jedoch robuster. Wie Rückruffunktion, Rückkehr..
3 🎜> Einführung: Web Worker bietet eine einfache Möglichkeit, Webinhalten die Ausführung von Skripten im Hintergrund zu ermöglichen. Sobald ein Worker erstellt wurde, kann er Nachrichten an die von seinem Ersteller angegebene Ereignisüberwachungsfunktion weiterleiten, sodass alle vom Worker generierten Aufgaben diese Nachrichten erhalten
[Verwandte Q&A-Empfehlungen]:
angular.js – Die Angular-Direktive enthält Webworker. Wie kann der Fehler behoben werden, dass die Worker-Datei während des Unit-Tests nicht gefunden werden kann?
Das obige ist der detaillierte Inhalt von10 Kursempfehlungen zu webWorker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!