Ich weiß jetzt nicht genau wie die JS-Interna funktioniert, wenn man (warum auch immer) 2x history.pushState() aufruft, sollten doch beide Aufrufe des Eventhandlers – nach deiner Herangehensweise – das gleiche Objekt bekommen, da die Handler ja asynchron aufgerufen werden, oder liege ich falsch?
Das musst Du wohl mal selber rausfinden, mein Artikel hatte ein anderes Ziel: Nämlich zu vermitteln wie es überhaupt funktioniert anhand eines Objekts den Zustand einer Anwendung wiederherzustellen.
In Fakt ist es eher wichtig, die Funktion history.pushState()
mit konsistenten Daten zu versorgen, d.h., dass das erste und das dritte an diese Funktion übergebene Argument exakt dieselben Daten und damit denselben Zustand repräsentiert.
MfG
PS: Einer der Gründe, warum ich Formulardaten in allen meinen Anwendungen stets als Objekt erfasse erst dann serialisiere wenn sie rausgehen.