Potch
Wenn Sie unbedingt Aufgaben im Haupt-Thread ausführen müssen (DOM mutieren oder mit Web-APIs interagieren, die nur im Haupt-Thread funktionieren), können Sie nun den Browser bitten, Ihnen ein Zeitfenster zur Verfügung zu stellen, in dem dies sicher möglich ist!
… `requestIdleCallback` ermöglicht es dem Browser, zu warten, bis er eine Leerlaufperiode identifiziert hat. Eine Leerlaufperiode kann einige Millisekunden zwischen der Darstellung einzelner Frames betragen.
Dies scheint eine Art bewährte Methode zu sein. Aber wie identifizieren wir, wofür wir dies verwenden sollten und wofür nicht? Ist es so, als ob „jedes Mal, wenn wir das DOM berühren, sollten wir es in dies einpacken?“ Vielleicht mit dem Zusatz „es sei denn, Sie zeigen dem Benutzer neue Inhalte an, was Vorrang vor Animationsrucklern hat.“ Wenn Sie ein Framework sind, das DOM-Berührungen (und andere Aufgaben im Haupt-Thread) abstrahiert, wie entscheiden Sie dann, was Priorität hat oder nicht?