Получение данных из бесконечной асинхронной функции

Всем привет. Чувствую, вопрос тупой, но ответа я не смог найти. Есть асинхронная функция, которая работает бесконечно. Т.е. её вызов блокирует весь остальной код. А мне нужно получить из нее данные и пойти дальше. Заранее благодарен.

import asyncio

from idex_sdk.client.order_book.real_time import OrderBookRealTimeClient

def update_l2_order_book(market: str) -> None:
    real_time_order_book = client.get_order_book_l2(market, 10)
    print(real_time_order_book)

def make_client() -> OrderBookRealTimeClient:
    client = OrderBookRealTimeClient()
    client.on("l2", update_l2_order_book)
    client.on("ready", update_l2_order_book)
    client.on("error", lambda error: print(f"error {error}"))
    return client

client = make_client()

async def test() -> None:
    task = asyncio.create_task(client.start(["ETH-USDC"]))
    await task

asyncio.run(test())

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