Я хочу иметь возможность использовать WebSocket в Quart для получения любых отправленных сообщений и отправки любых сообщений, которые мне могут понадобиться. Нет гарантии, что сообщения будут чередоваться между отправкой и получением.
Например, Страница учебника Quart по WebSockets содержит следующий фрагмент:
@app.websocket('/api/v2/ws')
@collect_websocket
async def ws(queue):
while True:
data = await queue.get()
await websocket.send(data)
Почему-то я Я хочу изменить код в while True
l oop, чтобы я мог проверить, есть ли какие-либо данные, которые будут получены, но если нет, я вместо этого проверю очередь.
Я бы хотелось бы иметь возможность ждать получения в сокете, только если есть что-то для получения (что, возможно, могло бы быть достигнуто, если бы в методе receive
был параметр timeout
), но это не вариант.
Итак, как я могу await
WebSocket для обновлений, а также await
что-то еще для обновлений ?