Не могу сделать асинхронность в Flet python

Ищу помощи в реализации асинхронного роутера (маршрутизации) для библиотеки Flet. Код уже написан, и работает в синхронном режиме, но при попытке переписать на асинхронный получаю ошибку.

главный файл main.py:

import flet as ft
from appbar import navbar
from router import Router

async def main(page: ft.Page):
    page.appbar = await navbar(page)
    myRouter = Router(page)
    page.on_route_change = myRouter.route_change
    await page.add_async(
        myRouter.body
    )
    await page.go_async('/')

ft.app(target=main)

файл route.py

import flet as ft
# views
from st import statistic

class Router:
    def __init__(self, page):
        self.page = page
        self.ft = ft
        self.routes = {
            "/statistics": statistic(page),
        }
        self.body = ft.Container(content=self.routes['/statistics'])

    async def route_change(self, route):
        self.body.content = self.routes[route.route]
        await self.body.update_async()

файл appbar.py

import flet as ft

async def navbar(page):
    NavBar = ft.AppBar(
            leading=ft.Icon(ft.icons.TAG_FACES_ROUNDED),
            leading_width=40,
            title=ft.Text("Flet Router"),
            center_title=False,
            bgcolor=ft.colors.SURFACE_VARIANT,
            actions=[
                # ft.IconButton(ft.icons.HOME, on_click=lambda _: page.go('/')),
                ft.IconButton(ft.icons.TASK_ALT, ),
            ]
        )
    return NavBar

файл st.py

import flet as ft

async def statistic(page):
    content = ft.Column(
        [
            ft.Row(
            [
                ft.Text("Моя статистика", size=30), 
                ft.IconButton(icon=ft.icons.ANALYTICS, icon_size=30),
                ], 
            alignment=ft.MainAxisAlignment.CENTER
            ),

            ft.Row(
                [
                    ft.Text("Раздел моя статистика находится на стадии разработки. В новых обновлениях она появится")
                ]
            ),

        ]
    )
    return content

при запуске main.py выходит ошибка

Unhandled error processing page session : Traceback (most recent call last):
  File "C:\Users\петр морофеев\.virtualenvs\TradeGambleZone-SrsH-SOA\Lib\site-packages\flet_runtime\app.py", line 448, in on_session_created
    await session_handler(page)
  File "c:\Users\петр морофеев\OneDrive\Документы\project\TradeGambleZone\main.py", line 9, in main
    await page.add_async(
  File "C:\Users\петр морофеев\.virtualenvs\TradeGambleZone-SrsH-SOA\Lib\site-packages\flet_core\page.py", line 311, in add_async
    r = await self.__update_async(self)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\петр морофеев\.virtualenvs\TradeGambleZone-SrsH-SOA\Lib\site-packages\flet_core\page.py", line 423, in __update_async
    commands, added_controls, removed_controls = self.__prepare_update(*controls)
                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\петр морофеев\.virtualenvs\TradeGambleZone-SrsH-SOA\Lib\site-packages\flet_core\page.py", line 438, in __prepare_update
    control.build_update_commands(
  File "C:\Users\петр морофеев\.virtualenvs\TradeGambleZone-SrsH-SOA\Lib\site-packages\flet_core\control.py", line 396, in build_update_commands
    innerCmds = ctrl._build_add_commands(
                ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\петр морофеев\.virtualenvs\TradeGambleZone-SrsH-SOA\Lib\site-packages\flet_core\control.py", line 451, in _build_add_commands
    childCmd = control._build_add_commands(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\петр морофеев\.virtualenvs\TradeGambleZone-SrsH-SOA\Lib\site-packages\flet_core\control.py", line 449, in _build_add_commands
    children = self._get_children()
               ^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\петр морофеев\.virtualenvs\TradeGambleZone-SrsH-SOA\Lib\site-packages\flet_core\container.py", line 214, in _get_children
    self.__content._set_attr_internal("n", "content")
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'coroutine' object has no attribute '_set_attr_internal

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