История изменений
Исправление rtxtxtrx, (текущая версия) :
В питоне все не так работает.
async def fetch(session, url):
response = await session.get(url)
...
...
asyncio.gather([fetch(session, url) for url urls])
Там примерно так должно работать:
while True:
если мы ранее переключили контекст (state проверяем)
если сокет готов для чтения
читаем из него данные и меняем state на первоначальный
иначе
меняем контекст
continue
выполняем контекст пока не встретим await
затем меняем state и переключаем контекст
Те ничего в принципе сломаться не может.
Там основной цикл есть для проверки состояни, скрытый за asyncio.run()
Исправление rtxtxtrx, :
В питоне все не так работает.
async def fetch(session, url):
response = await session.get(url)
...
...
asyncio.gather([fetch(session, url) for url urls])
Там примерно так должно работать:
while True:
если мы ранее переключили контекст (state проверяем)
если сокет готов для чтения
читаем из него данные и меняем state на первоначальный
иначе
continue
выполняем контекст пока не встретим await
затем меняем state и переключаем контекст
Те ничего в принципе сломаться не может.
Там основной цикл есть для проверки состояни, скрытый за asyncio.run()
Исходная версия rtxtxtrx, :
В питоне все не так работает.
async def fetch(session, url):
response = await session.get(url)
...
...
asyncio.gather([fetch(session, url) for url urls])
Там примерно так должно работать:
while True:
если мы ранее переключили контекст (state проверяем)
если сокет готов для чтения
читаем из него данные и меняем state на первоначальный
иначе
continue
выполняем контекст пока не встретим await
затем меняем state и переключаем контекст