Christian Schubert: Wie Microtasks / Macrotasks dressieren?

Beitrag lesen

Hallo,

Je umfangreicher ein Programm wird, desto unübersichtlicher wird es mitunter leider auch, daher suche ich nach einer zuverlässigen Methode, wie ich Funktionen so aufrufen kann, dass eine nach der anderen konsequent chronologisch abgearbeitet wird.

"Problem" hierbei ist natürlich (bei näherer Betrachtung macht das ja auch Sinn), dass Javascript nicht Funktion um Funktion abarbeitet, sondern eben alle Microtasks in der Queue, bevor der nächste Macrotask angegangen wird.

...ergo ist die Strategie, Funktionen einfach chronologisch aufzurufen, dann um Scheitern verurteilt, wenn verschiedene Funktionen verschiedene Micro- wie auch Macrotasks beinhalten.

Dafür gibt es jetzt eine Handvoll Strategien, bin allerdings ein wenig unschlüssig, was da wohl die beste Herangehensweise ist.

Jede Funktion mit einem Timeout? (PUH…) MutationObservers? EventListeners transitionend/animationend?

Wie würdet ihr das angehen?

Quasi ein Workaround für etwas in der Art wie

/* Achtung DummyCode */ Function.addEventListener('callstackEmpty', nextFunction);

Danke für eure Gedanken!