Hintergrundaufgaben ohne UI-Blockade
Der Browser-Main-Thread ist eine geteilte Ressource: Animationen, Event-Handler und Rendering konkurrieren mit eurer Geschäftslogik. requestIdleCallback löst diesen Konflikt, indem es nicht-kritische Aufgaben in die Leerlaufphasen des Browsers verschiebt – ohne dass der Nutzer irgendetwas davon bemerkt.
Inhaltsverzeichnis
- 1. Das Main-Thread-Problem: Warum requestIdleCallback existiert
- 2. Wie requestIdleCallback funktioniert
- 3. Die Deadline-API: timeRemaining und didTimeout
- 4. Arbeit in Chunks aufteilen
- 5. Der timeout-Parameter: Garantierte Ausführung
- 6. cancelIdleCallback und Lifecycle-Management
- 7. Fallback für Safari und ältere Browser
- 8. requestIdleCallback vs. rAF vs. setTimeout vs. Web Worker
- 9. Praxisbeispiel: Lazy Analytics-Queue
- 10. Zusammenfassung
- 11. FAQ