无法摆脱异步循环

时间:2019-09-25 20:04:03

标签: python while-loop async-await

我正在尝试创建一个命令,该命令在变量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 :(得分:0)

您无需返回用于在异步函数上使用while循环的方法,而需要返回一些信息以使循环知道已完成。 (loop.run_until_complete(main()))中您想让循环结束的地方,放return