Заранее извиняюсь, если такая тема уже была. У меня такой нубский вопрос, я новичок в js:
При определенных условиях необходимо последовательное выполнение функций:
function foo1 () {};
function foo2 () {};
function foo3 () {};
Результатом работы функции foo1 будет изменение html кода страницы.
Функция foo2 работает как раз таки с этим html кодом и на основе его выполняет определенные действия и так же вносит свои коррективы в html. Функция foo3 по тому же принципу. Объединить их в одну нельзя, так как они выполняют разные задачи и такое последовательное выполнение только частный случай.
В общем такая проблема. Если их просто выполнять последовательно, то функция foo2 начнет свое выполнение до того, как будут внесены изменения в Html функцией foo1 и тд. Если ставить setTimeout то все работает, но я думаю, что это очень коряво. Так как функции могут быть очень объемными и их выполнение будет зависеть от загруженности браузера в данный момент, да и вообще от производительности системы. Т.е. это время может быть разным.
Можно ли как то без таймаутов осуществить последовательный запуск этих функций по принципу: Функция foo1 выполнилась, сформировалось новое DOM дерево, далее пошла функция foo2, сформировала свое дерево и т.д. Заранее спасибо.