Описание требуемого алгоритма
На входе – Нажатая пользователем кнопка с несколькими параметрами взятыми с экрана
Обработка – Проверка по таблице переходов и текущему состоянию процесса какую функцию выполнить, ее выполнение и смена текущего состояние на новое
На выходе – выходные параметры от выполненной функции
Таблица переходов из 10-20 строк типа
Начальное состояние
Нажатая кнопка или событие по таймеру
Функции с параметрами
Конечное состояние
Таблицу напишу, что в функциях поясню.
Скрипт нужен пока как заглушка АПИ в интерфейсе вызова такси
https://taxi.e-aristotel.com написанном на реакте
При первом вызове скрипта у него устанавливается начальное состояние. На входе скрипта имя нажатой кнопки и список параметры напрмер в json. По таблице переходов сверяется команда и выбирается строка ей соответствующая. Выполняется указанная функция. После ее успешного окончания меняется текущее состояние скрипта и возвращается управление с передачей параметров в выходном json, который формируется функцией. Скрипт ожидает свой следующий вызов.
Начать можно с таблицы из 4 строк
Начало;Заказать;Функция пустая;Поиск водителя.
Поиск водителя; Команда пустая; Функция1;Ждем водителя.
Поиск водителя; Отменить; Функция пустая ;Начало.
Ждем водителя;Ок;Функция пустая; Ждем посадки.
Функция1 = Ждать 15 сек
Далее мне надо согласовать ваш интерфейс этого скрипта с фронтером.
Интерфейс должен быть подобен будущим методам апи, которые он пока подменяет.