Heim >Backend-Entwicklung >C++ >Wie führt man asynchrone Aufgaben innerhalb einer ForEach-Schleife korrekt aus?
Die Verwendung asynchroner Programmierung in einer ForEach-Schleife kann einige Herausforderungen mit sich bringen. Lassen Sie uns das Problem untersuchen und eine Lösung finden.
Wenn Sie in Ihrem Code versuchen, das Schlüsselwort async innerhalb des ForEach-Delegaten zu verwenden, tritt möglicherweise die Fehlermeldung auf: „Der Name ‚Async‘ existiert im aktuellen Kontext nicht.“ ."
Der Grund dafür ist, dass List
Um dieses Problem zu lösen, können wir einen geeigneteren Ansatz verwenden, der die asynchrone Natur von Aufgaben nutzt:
using (DataContext db = new DataLayer.DataContext()) { var tasks = db.Groups.ToList().Select(i => GetAdminsFromGroupAsync(i.Gid)); var results = await Task.WhenAll(tasks); }
Dies Der Ansatz hat mehrere Vorteile:
Das obige ist der detaillierte Inhalt vonWie führt man asynchrone Aufgaben innerhalb einer ForEach-Schleife korrekt aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!