Как сделать чтобы один State реагировал на два хендлера?
В чём заключается проблема:
Бот обращается по api к сервису, api сервиса однопоточный. Пользователь отправляет сообщение, и после бот забирает сообщение и делает по нему запрос через api.
Если ставить await message.answer("Обработка запроса...") в один хендлер с обращением к api, то получается так, что если 2 и более человек делают запрос, то "Обработка запроса" отправляется только одному из них, а второму отправляется только после выполнения api запроса первого человека.
Подумал разбить await message.answer("Обработка запроса...") и обращение к api на разные хендлеры и появилась проблема, что нужно, чтобы один State реагировал сначала на хендлер с await message.answer("Обработка запроса..."), а потом он же реагировал на запрос к api.
И я вообще не понимаю, как это реализовать, если я пытаюсь это сделать, то state обрывается на await message.answer("Обработка запроса...") и не идёт к api.
Если это сторонний API, который не выполняет следующий запрос до завершения текущего, то бесполезно что-то у себя ковырять, всё равно пока запрос первого не будет обработан, запрос второго обрабатывать не начнёт. Тут ничего уже не поможет.
Если же проблема в том, что обращение к API делается синхронным кодом... Ну так это и надо лечить. Например, если API работает по протоколу http, то меняем библиотеку requests (или что там используется?) на aiohttp. Тогда следующий запрос может выполняться до завершения уже начатого.