Treba mi mala pomoć.
Imamo sample kod dole :
async void GetItems()
{
foreach(item in Items)
{
foreach (property in Item)
{
await GetDetails(property.param, property.param2)
}
foreach (property2 in item)
{
await GetDetails(property.param, property.param2)
}
}
}
async Task GetDetails(param1, param2, etc.)
{
// Blok koda
if (param1 < desiredParam)
(
GetDetails()
)
}
Iz petlje u GetItems pozivam GetDetails.
Problem je u tome što treba da sačekam da se završi ceo proces GetDetails pre nego što nastavim na sledeći property u for petlji.
Ova funkcija GetDetails može da se ponovi onoliko puta koliko ima sadržaja ...
Kada se pozove samo jednom, sve je OK, međutim kada treba da pozovem više puta GetDetails iz nje (GetDetails), nastaje problem.
Ovamo mi se petlja nastavlja a u pozadini se pokreće bezbroj GetDetails metoda, što je loše.
Voleo bih da rešenje ostane u okviru ove dve funkcije...
Dakle kada iz GetItems funkcije pozovem GetDetails unutar ForEach petlje, program treba da sačeka da se u potpunosti završi GetItems funkcija.
Funkcija treba da se završi jednom kada je param1 == desiredParam, tj. kada se GetDetails pokrene onoliko puta koliko treba a ne nakon prvog završavanja funkcije.
Ima li neko ideju ?
|