Ich lerne asynchrone (UWP) Methoden im Moment und kann mich nicht richtig mit der Syntax herumschlagen. Alle Beispiele haben viel mehr zu tun als nur die asynchronen Aufrufe der Aufgabe und zeigen nicht wirklich, wie sie initiiert werden. Die Hauptsache, die ich nicht verstehe, ist, wie man die Aufgabe von einer nicht-asynchronen Methode initiiert. Jedes Mal, wenn ich versuche, die Aufgabe aufzurufen, möchte ich, dass diese Methode in eine asynchrone umgewandelt wird. Was wiederum von mir verlangen würde, dass ich jede Methode, die diese Methode aufruft, in Async verwandle. Wie soll man anfangen?Aufruf einer Asyc Aufgabe <T> Methode
Der aktuelle Anwendungsfall, den ich versuche, ist, eine JSON-Datei voller Benutzernamen und IDs aus UWP-Localspeicher abzurufen, die jetzt in UWP ein Async-Aufruf ist. Ich bin mir ziemlich sicher, dass meine Methode korrekt ist, aber ich habe Probleme, sie anzurufen. Momentan rufe ich die Methode im Code hinter der Seite auf, die sie unterstützt, wo sich die aktuelle Methode derzeit in der Benutzerklasse befindet.
hier ist der Code ich habe:
public async Task<List<User>> getUsers()
{
List<User> u = new List<User>();
StorageFolder folder = ApplicationData.Current.LocalFolder;
StorageFile file = await folder.GetFileAsync("LocalUsers.txt");
string Json = await FileIO.ReadTextAsync(file);
List<User> existingUsers = new List<User>();
existingUsers = JsonConvert.DeserializeObject<List<User>>(Json);
return existingUsers;
}
und das ist, wie ich die Methode aus dem Code hinter
List<User> users = await User.getUsers();
ich Aufgaben auch wie diese habe versucht anzurufen versuchte, Laufen, aber ich glaube nicht, dass mein Sytax richtig ist oder etwas
Task t = new Task(User.getUsers());
Jede Hilfe wird sehr appreciated sein. Vielen Dank.
Warum nicht die aufwändige Methode 'async' machen, wie empfohlen? – David
Das werde ich wohl in Zukunft tun, aber es schien so, als würde Async immer weiter in den Code hineinkriechen und ich dachte nicht, dass das der richtige Weg war, aber wie andere darauf hingewiesen haben, ist dies in der Tat das Richtige Weg. – evilsushi