J'ai une commande qui exécute une méthode async:formes Xamarin, Execute commande asyncronously
public ICommand LoadDataCommand => _loadDataCommand ??
(_loadDataCommand = new Command<bool>(async force => await LoadData(force)));
private virtual async Task LoadData(bool forceLoad)
{
if(forceLoad)
Data = await _service.LoadData();
}
maintenant à l'intérieur d'une vue que je veux exécuter async LoadDataCommand faire quelque chose sur ViewModel
objet de données (je ne devrais pas appeler LoadData()
méthode directement dans ma vue)
L'appel '.Result' sur une tâche asynchrone bloquera le thread en attendant que la tâche se termine. Au lieu de cela, vous devriez appeler le 'LoadData' normalement et faire d'autres actions basées sur le résultat après la tâche attendue. c'est à dire. lorsque 'Data' est défini. – Laffen