Это вопрос о том, как работает многопоточное / асинхронное программирование. Все асинхронные c методы будут запускаться одновременно, но при окончательном возвращении данных они будут заканчиваться sh.
Здесь есть только ключевое слово: "эй, подожди, пока все не вернется, прежде чем двигаться на ".
Так что думайте об этом больше как о загрузке веб-страниц. Если вы вызываете google.com, microsoft.com, netflix.com и stackoverflow.com одновременно, можно ожидать, что они не вернут страницу в том же порядке, в каком вы их назвали. Это может зависеть от нескольких вещей, выходящих за рамки этого вопроса.
Ключевым моментом здесь является то, что когда вы начинаете использовать асинхронные методы, вы не можете ожидать, что результаты вернутся в том порядке, в котором вы их вызывали.