Tach!
Es kann sein, dass ich dein Problem nicht verstehe, aber ...
...ergo ist die Strategie, Funktionen einfach chronologisch aufzurufen, dann um Scheitern verurteilt, wenn verschiedene Funktionen verschiedene Micro- wie auch Macrotasks beinhalten.
... Macrotasks werden meines Wissens mit setTimeout()/setInterval() gestartet, sollen also gar nicht im Fluss, sondern zu einem späteren Zeitpunkt laufen. Auch Events sind Macrotasks, die zufällig auftreten und sich in die Task Queue einreihen, und eigentlich nicht in einer bestimmten Reihenfolge mit Microtasks anderer Macrotasks synchronisiert werden müssen. Bleibt noch, die Microtasks zu organisieren.
Dafür gibt es jetzt eine Handvoll Strategien, bin allerdings ein wenig unschlüssig, was da wohl die beste Herangehensweise ist.
Was spricht gegen Promises beziehungsweise async/await?
Wie würdet ihr das angehen?
Kommt darauf an, was ich für ein Problem zu lösen versuche. Vielleicht muss auch RxJS her, wenn Promises nicht zielführend sind.
dedlfix.