Как вызвать асинхронную команду из другой асинхронной команды в Xamarin.Формы в MVVM?

#c# #xamarin #xamarin.forms

Вопрос:

Как и сказано в названии, я пытаюсь это сделать:

введите описание изображения здесь

но я получаю эту ошибку.

Ребята, вы знаете, что мне делать ?

Спасибо вам за вашу помощь

Ответ №1:

Вы можете написать вот так:

   Device.BeginInvokeOnMainThread(async() => {    
         Map.Pins.Clear();
         Map.MapElements.Clear();
         await ExecuteLoadPinsCommand();    
  });
 

Комментарии:

1. это сработало, но создало еще одну проблему, метод ExecuteUpdatePinsCommand по-прежнему говорит: «в этом асинхронном методе отсутствует «ожидание» оператора», что мне делать ?

2. вы можете сделать этот метод ExecuteUpdatePinsCommand возвращаемым типом Void следующим образом: private void ExecuteUpdatePinsCommand() {}

3. Но не заставит ли это выполнение кода не ждать завершения выполнения команды ExecuteUpdatePinsCommand, если я сделаю его недействительным ?

4. Ваш метод ExecuteLoadPinsCommand() уже ожидает, он будет ждать