Асинхронные запросы в Python
имеется следующий фрагмент кода:
i = 1
while i <= len(data)-1:
address_from_token = data[i]["Address"]
k = 1
while k <= len(data)-1:
address_to_token = data[k]["Address"]
if address_to_token != address_from_token:
d = {'fromTokenAddress': address_from_token, 'toTokenAddress': address_to_token,
'amount': 1000000000000000000}
response = requests.get("https://api.1inch.exchange/v3.0/1/quote", params=d)
r = response.json()
print(r["toTokenAmount"], address_from_token, address_to_token)
k = k+1
i = i+1
Вопрос как запустить запрос асинхронно (то есть выполнять цикл, отправляя запросы, но не дожидаться их ответа перед запуском следующего) и выводить результаты "по готовности"
Понял что нужно использовать aiohttp, но не очень понимаю как записать асинхронный запрос так, чтобы в него передавался параметр из цикла.
UPD ------
Написал примерно в таком формате, но полагаю, что они все равно выстраиваются в очередь в рамках цикла
async def get_Pair():
async with aiohttp.ClientSession() as session:
d = {'fromTokenAddress': address_from_token, 'toTokenAddress': address_to_token,
'amount': 1000000000000000000}
async with session.get('https://api.1inch.exchange/v3.0/1/quote', params=d) as response:
#response = requests.get("https://api.1inch.exchange/v3.0/1/quote", params=d)
r = await response.json()
print(r["toTokenAmount"], address_from_token, address_to_token)