Зависает кнопка в pywebio

Чат. Есть 2 функции. 1 - Проверяет на наличие новых сообщений 2 - Ждёт ввода и ответа от пользователя

1)

    global messages
    last_len = 0

    while True:
        lenth = len(messages)
        if last_len != lenth:
            await asyncio.sleep(1)
            msg_box.append(put_markdown(f"`{name}`: {messages[len(messages)-1]}"))
            last_len = len(messages)
    global messages

    name = await input("Name: ")
    put_markdown(f"Добро пожаловать, {name}!")

    msg_box = output()
    put_scrollable(msg_box, height=300, keep_bottom=True)
    run_async(updateMSG(name, msg_box))
    messages.append(f"Добро пожаловать, {name}!")

    while True:
        msg = await input(placeholder="Текст сообщения ...")
        messages.append(msg)

Функция проверки нв новое сообщение работает хорошо, а вот вторая - нет. Она ждёт ввода, но после нажатия кнопки "Отправить" всё виснет... Причем в список messages ничего не добавляется. То есть проблема между msg = await input(placeholder="Текст сообщения ...") и messages.append(msg), а в чём именно - не понимаю

UPD Проблема в запуске асинхронной функции... Тоесть если ее не включать

run_async(updateMSG(name, msg_box))

То всё нормально. Ответ отправляется и сообщение добавляется в список. Но не обновляется на экране тк функция обновления не запущена


Ответы (0 шт):