не может выйти из асинхронного цикла - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь создать команду, которая запускается после того, как переменная benbotLoop установлена ​​в 2, и останавливается после того, как beenbotLoop установлена ​​в 1. Но что бы я ни делал, кажется, что цикл просто не останавливается.Вот мой код:

idint = int(0)
benbotLoop = 1

displayName = input("What's the display name? ")
benbotLoop += 1

async def main():
    global idint
    async with aiohttp.ClientSession() as session:
            async with session.get("http://benbotfn.tk:8080/api/cosmetics/search/multiple", params={"displayName": displayName}) as r:
                data = await r.json()
                json_data = await r.json()
                list_type = json_data[idint]["type"]

                if list_type == "Outfit":
                    list_id = json_data[idint]["id"]
                    benbotLoop = 1
                    print(list_id)
                    print(benbotLoop)
                else:
                    idint += 1


while benbotLoop == 2:
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

1 Ответ

0 голосов
/ 25 сентября 2019

Вместо того, чтобы пытаться использовать цикл while в асинхронной функции, вам нужно что-то вернуть, чтобы цикл знал, что он выполнен.(loop.run_until_complete(main())), где вы хотите завершить цикл, поместите return.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...