Получить ответ от подписки API для другой функции, не прерывая цикл подписки - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть этот код:

async def subscription_function(msg):
    async with websockets.connect(URL) as websocket:
        await websocket.send(json.dumps(msg))
        while websocket.open:
           #response is a number
           response = json.loads(await websocket.recv())
           my_var = response * 365
           #how do I get my_var out without breaking the loop of the subscription so response keeps 
           #getting updated


def example(x):
    if x > 500:
        return True
    else:
        return False

По сути, это подписка на API, который будет постоянно прослушивать и помещать полученные данные в переменную response каждые 100 мс. Затем я делаю простое вычисление, чтобы получить my_var, но теперь мне нужно использовать my_var в качестве аргумента для функции example().

Как я могу сделать это, не выходя из функции подписки? Я хочу получить это my_var каждый раз, когда получаю новый ответ от API. Если бы я когда-либо использовал return в subscription_function(), я бы явно сломал l oop.

Спасибо.

...