ты пишешь метод ХочуДанные() { сервер.дайДанныеПожалуйста }
посылаешь запрос к серверу. Он тебе отдает эти данные, но не сразу. Туповат - пока дойдет, пока ответит, пока ответ к тебе придет... как быть?
ты говоришь, что метод у тебя асинхронный, то есть СНАЧАЛА ты исполняешь метод, а когдато ПОТОМ у тебя появятся данные. Чтобы твой компилятор это понял, ты пишешь перед методом async
мы получили async ХочуДанные() { сервер.дайДанныеПожалуйста }
Окей. Система знает, что метод асинхронный. Но нам-то нужны данные? Так и напишем, - подожди (await ) когда появятся данные и отдай нам их
async ХочуДанные() { await сервер.дайДанныеПожалуйста }