Hallo,
Ich versuche eine Liste von Objekten mit einer asynchronen Operation zu konvertieren:
Forecast = WeatherParser.ParseForecast(forecastResponse.Item2, Settings.TempUnit).Select(async (forecastAtDay) =>
{
var forecastIcon = await weatherQuery.TryGetIconAsync(forecastAtDay.IconIdentifier);
return new WeatherIconWrapper(forecastAtDay, forecastIcon.Item1 ? LoadImage(forecastIcon.Item2) : null);
}
);
Hier wird statt der Liste von Objekten, jedoch eine von Tasks zurückgegeben. Wie kann ich auf diese "warten"?
Schau dir mal folgende Methoden an:
Task.WaitAll
Task.WaitAny
Sie warten synchron, bie ein/alle Task/s abgeschlossen ist/sind.
Task.WhenAny
Task.WhenAll
Sie erzeugen einen Task, der abgeschlossen ist, wenn ein/alle Task/s abgeschlossen ist/sind.
Auf diesen Task kannst Du dann mit await warten.
NuGet Packages im Code auslesen
lock Alternative für async/await
Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.