İçeriğe geç

Döngü içinde await (ARCH2030)

Anahtar python.async.await-in-loop · Önem info · Kategori async

Bir döngü gövdesinde her eleman için await etmek, birbirinden bağımsız asenkron işlemleri seri hale getirir. asyncio.gather ile bunlar eşzamanlı çalıştırılarak toplam süre kısaltılabilir.

async def load_all(ids):
results = []
for i in ids:
results.append(await fetch(i)) # seri
return results
import asyncio
async def load_all(ids):
return await asyncio.gather(*(fetch(i) for i in ids)) # eşzamanlı

Bağımsız çağrıları asyncio.gather ile toplayıp tek seferde eşzamanlı bekletin.