Async/await или разница между 2 методами - C#
Формулировка задачи:
Добрых времени суток. Есть асинхронный метод:И методы в которых он вызывается:В первом методе все работает нормально, а вот в ивенте через await работать не хочет. Хотя если написать Result для получения коллекции - все работает как нужно. Что я упускаю?То работать будет, но насколько я понимаю await != .GetAwaiter().GetResult() и операция уже не есть асинхронной... или есть?
public Task> GetAllByStreet(string street) { return db.QueryAsync( "SELECT DISTINCT House as Title, " + "NULL as Type, " + "NULL as Status, " + "0 as Visibility FROM Quest WHERE Street = ?", street); }
private async void GetQuests() //1й { List allHouse = await dataBaseController.GetAllByStreet(this.Street); } private async void ListViewAddresses_ItemTapped(object sender, ItemTappedEventArgs e) //2й { List allHouse = await dataBaseController.GetAllByStreet((e.Item as Address).Street); }
Кстати, если написать так
List allHouse = dataBaseController.GetAllByStreet(this.Street).GetAwaiter().GetResult();
Решение задачи: «Async/await или разница между 2 методами»
textual
Листинг программы
List<Address> allHouse = await dataBaseController.GetAllByStreet((e.Item as Address).Street);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д