Итак, мой скрипт ниже извлекает дату из веб-сокета и анализирует ее. Он может быть либо как [params] [канал], либо как [params] [тип].
Как вы можете видеть из моего кода ниже, в зависимости от того, что это, я его анализирую и присваиваю значения в дате к моим переменным.
Однако скрипт никогда не входит во второй оператор elif. Даже когда есть data1 ["params"] ["type"] == "test_request". По какой-то причине он движется не на утверждение elif, а прямо на pass. Я знаю это, потому что я переключил оператор if, и первый оператор if - единственный, который выполняется.
Я думаю, что это вызвано только попыткой. Любая помощь будет оценена.
response1 = await websocket.recv()
data1 = json.loads(response1)
try:
if data1["params"]["channel"]:
if data1["params"]["channel"] == perp_ticker:
perp_bid_price = data1["params"]["data"]["best_bid_price"]
perp_ask_price = data1["params"]["data"]["best_ask_price"]
elif data1["params"]["channel"] == far2_ticker:
far2_bid_price = data1["params"]["data"]["best_bid_price"]
far2_ask_price = data1["params"]["data"]["best_ask_price"]
elif data1["params"]["channel"] == far3_ticker:
far3_bid_price = data1["params"]["data"]["best_bid_price"]
far3_ask_price = data1["params"]["data"]["best_ask_price"]
elif data1["params"]["type"] == "test_request" :
await websocket.send(msg_publictest)
print('response sent to heartbeat')
except:
pass