JavaScript · Senior · Frage 64 von 75
Warum nutzen Scheduler (z. B. der von React) MessageChannel statt setTimeout(fn, 0)?
- 1
MessageChannelführt den geplanten Code in einem Worker aus - 2
setTimeout-Callbacks laufen in Hintergrund-Tabs nie - 3Eine Nachricht plant eine Macrotask ohne Drosselung des Timers
Antwort zeigen
Richtige Antwort: Eine Nachricht plant eine Macrotask ohne Drosselung des Timers
Erklärung
Verschachtelte setTimeout-Aufrufe werden laut HTML-Spezifikation auf mindestens 4 ms gedrosselt. Ein Message-Event lässt dem Browser Raum für Rendering und Eingaben und geht dann schnell weiter.