Python + socket-io дождаться ответа от клиента

На сервере python есть задача с циклом for и модулем socket-io Main:

from aiohttp import web
import asyncio, socketio, time
from task import tasks

sio = socketio.AsyncServer(async_handlers=True)
app = web.Application()
sio.attach(app)

@sio.on('connect')
async def connect_handler(sid, environ):
  print("Connected: " , sid)

@sio.on('py:task_launch')
async def task_launch_handler(sid, data):
  #Запускаем задачу
  asyncio.create_task(task(data, sio)

Task: ( файл с проблемой )

async def task(data, sio):
 ...
 BASE_SLICE = []
 ...
 for _ in iter(int, 1): 
  ...
  ...
  ...
  # Отправляем клиенту данные
  await sio.emit('py:get_users', {'data': data})
  # Получаем данные от клиента
  @sio.on('py:get_slice_users')
  async def get_slice_users_handler(sid, data):
   BASE_SLICE.append(data[0])
  
  Код после получения данных от клиента
  ...
  ...

Можно ли как то реализовать что бы сервер дождался ответа от клиента без await asyncio.sleep(sec) и только после этого продолжил выполнять цикл, если весь нижний код вложить в фукнцию get_slice_users_handler, то цикл соответственно пропускает слушателя @sio.on('py:get_slice_users') и переходит к след. итерации


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