How does Dart run asynchronous code without blocking? For example:
void test(User user) async {
    print('test');
    String fullName = user.firstName + ' ' + user.lastName;
    final result = await sendRequest(fullName);
    print('${result}');
}
I understand that when Dart runs async function, it executes code before await and then wraps the remaining code into Future and puts it into Event Loop. But, how does that Future what we're awaiting for (await sendRequest(fullName)) not blocking running the other, synchronous code? We should wait for request for complete but it also requires some code to check that we've received or not received response. How does it not block other operations, like button clicks?