Очередность выполнения функций в JS
Дорогие друзья, товарищи, коллеги. Есть вопрос по JS, в данное время нет идей, как можно реализовать + опыт пока не очень (но я стараюсь, честно).
Кто-нибудь в ходе практики сталкивался с такой задачей:
- есть несколько функций, которые должны выполняться одна за другой
- в ходе их выполнения происходит взаимодействие с пользователем (т.е. ему нужно что-то ввести, какую-то кнопку нажать).
- осложняется это тем, что события в функции должны быть рандомными (т.е. есть массив объектов, которые содержат в себе данные и функцию для работы с ними).
Суть такова: эти функции выводят в элемент DOM вопросы с вариантами ответов. На данном этапе у меня получается так, что они разом выводятся в этот div и всё. А хотелось бы, чтобы следующая функция не выводилась до тех пор, пока текущая не получит ответ от пользователя. Т.е. чтобы основной поток находился в режиме ожидания до взаимодействия.
Оговорюсь сразу - использовать prompt и confirm не является решением.
Пока я решил проблему так, что нужная следующая функция вызывается в конце текущей. Но такой подход, на мой взгляд, в корне неверен.
Сейчас функций мало, массив небольшой. А если их будет большее количество (20, например) - могут возникнуть определенные сложности + если мы будем вызывать эту функцию из массива, то после неё будет исполняться следующая, что совершенно не приемлемо.