Similization
@Similization
В прострации

Можно ли дожидаясь результата функции выводить на экран процесс ее ожидания?

Условно я хочу чтобы пользователь, пока он ожидает ответа, видел на экране следующее сообщение, которое будет каждый раз обновляться, пока наконец ожидаемая функция не завершит свою работу и данный результат не будет отображен на экране

Вот условно что-то такое я придумал:
async def function_for_waiting(message: types.Message, function_to_wait):
    message = await message.reply("The answer may take some time")
    while result := function_to_wait:
        await asyncio.sleep(1)
        message = await message.edit_text("The answer may take some time.")
        await asyncio.sleep(1)
        message = await message.edit_text("The answer may take some time..")
        await asyncio.sleep(1)
        message = await message.edit_text("The answer may take some time...")
        await asyncio.sleep(1)
        message = await message.edit_text("The answer may take some time")
    return result


# одно сообщение, которое будет обновляться каждый раз
The answer may take some time
The answer may take some time.
The answer may take some time..
The answer may take some time...
The answer may take some time
...
Result:
  • Вопрос задан
  • 7 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы