I don't understand how asynchronous requests work. Here I have a function that sends an image using a POST request:
async def post_img(in_url, in_filepath, in_filename):
with open(in_filepath, 'rb') as file:
in_files = {'file': file}
async with ClientSession() as session:
async with session.post(in_url, data=in_files) as response:
status = response.status
response = await response.read()
print(response)
Why I can read response status without awaiting it? How can I tell that request is done if I am not waiting for it to finish?