Himmel Bert: Problem mit Javascript Single Thread, der Update von DOM blockiert

Beitrag lesen

Ok, das ist ein echtes Problem :/

...gibt's dazu irgendwelche Best-Practices?

Mir fällt da jetzt eigentlich nur mehr eine Methode ein, die mir doch abenteuerlich hacky und nicht sehr wohlgeformt erscheint, nämlich rekursives TimeOut in die Richtung:

// Alle durchzuführenden Funktionen,
// nach ihrer Reihenfolge geordnet:
let Reihenfolge = [Func1, Func2, Func3, Func4, Func5, ...];

let counter = 0;
let Ablauf = setTimeout(function Durchlauf() {
	if (counter < Reihenfolge.length) {
		Reihenfolge[counter]();
		counter++;
		Ablauf = setTimeout(Durchlauf, /* 0? */);
	}
},/* 0? */);

Kann das so überhaupt funktionieren / bzw. laufen hier alle Tasks überhaupt noch garantiert hintereinander (also inklusive DOM-Repaints!) ab, wenn ich die Zeitspanne auf 0 setze?

Erm...HILFE