죄송하게 생각 깨...
그래서,기본적으로 목록을 포함하는 메시지와 자신의 운명:
messages = [(id_1, msg_1), (id_2, msg_2), (id_3, msg_3),]
내가 무엇을 원하는 사용: async for msg in messages
그러나 내 목록에 명백히지 않는 비동기적으로 반복 가능한(내가 사용하 sqlite3)나는 어떻게 변환하여 비동기적으로 반복 가능한가요?
죄송하게 생각 깨...
그래서,기본적으로 목록을 포함하는 메시지와 자신의 운명:
messages = [(id_1, msg_1), (id_2, msg_2), (id_3, msg_3),]
내가 무엇을 원하는 사용: async for msg in messages
그러나 내 목록에 명백히지 않는 비동기적으로 반복 가능한(내가 사용하 sqlite3)나는 어떻게 변환하여 비동기적으로 반복 가능한가요?
당신이 필요하지 않습니다"비동기적으로 반복 가능한 목록". 할 수 있습니다 그냥 반복하는 일반적으로:
for (id, msg) in messages:
# do things...
는 경우에 당신은 정말 필요로"비동기를 반복 가능한 목록"과 같은 작업을 수행 할 수 있습니다 그것은 포장 그래서 같은,그러나 참고로 이것은 아마 매우 불필요한(그리고 그것은 또한 최근 Python version):
async def make_async_iter(lst):
for item in lst:
yield item
...
async for item in make_async_list(messages):
# use item...
asyncio
작업이란 각 업데이트,그래서 그들은 늘 하지 차단됩니다. 만 문제가 발생합니다 사용할 경우 차단 방법(아 time.sleep
대 asyncio.sleep
).
@client.on(events.NewMessage)
그래서 나는 메시지를 보내고 받을 수 있습니다 같은 시간에,그러나 나는 그들을 만들려고 차단하지 않도록 전지 작동하지 않습니다. 3-나는 생각을 줄 것이 더 보기에는 예입니다.