The short answer (based on the code sample given in your question) is yes, subsequent requests would go through (regardless of the while True
loop).
The long answer is depends on what kind of operations you would like to perform inside the async
function or while True
loop (i.e., I/O-bound or CPU-bound operations?). When a function is called with await
and concerns an I/O-bound operation (i.e., waiting for data from the client to be sent through the network, waiting for contents of a file in the disk to be read, etc.), the event loop
(main thread) can then continue on and service other coroutines (requests) while waiting for that operation to finish (i.e., in your case, waiting for a message to be either received or sent). If, however, the await
concerns a CPU-bound operation, or a CPU-bound operation is performed regardless of calling it using await
(i.e, audio or image processing, machine learning, etc.), the event loop
will get blocked; that means, no further requests would go through, until that CPU-bound operation is completed.
Please refer to this answer for more details.