Hallo, ich kann nicht herausfinden, warum dieser async Betrieb nichtC# Asynchron-Betrieb wartet nicht wp8.1
private async void scroller_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
if (isLoadingMore)
return;
if (scroller.VerticalOffset > scrollContent.ActualHeight - (Frame.ActualHeight + 300))
await LoadMoreItems();
}
bool isLoadingMore = false;
private async Task LoadMoreItems()
{
isLoadingMore = true;
try
{
List<Items> itemsList = await App.ServiceClient.GetItems("bananas");//<-------Doesn't wait
foreach (Items in itemsList)
listView.Items.Add(c);
}
catch { }
isLoadingMore = false;
}
nicht warten Und dies ist der Back-End-Anruf mit einer anderen async Aufgabe
public async Task<List<Items>> GetItems(string selector)
{
HttpClient client = new HttpClient();
var request = new HttpRequestMessage()
{
RequestUri = new Uri(myUrl),
Method = HttpMethod.Get,
};
request.Headers.Add("Accept", "application/json");
List<Items> items = null;
var task = await client.SendAsync(request).ContinueWith(
async (s) =>
{
try
{
string Result = await s.Result.Content.ReadAsStringAsync();
if (s.Result.IsSuccessStatusCode)
items= JsonConvert.DeserializeObject<List<Items>>(Result);
}
catch
{ }
});
return items;
}
Das Problem ist das verschachtelte erwartet oder in der Scoll-Ansicht. Ich fand this, aber ich denke nicht, dass dies der Fall ist.
Bitte geben Sie [MCVE] (speziell "Minimal" Teil). Bis jetzt sieht 'async void' verdächtig aus - wahrscheinlich sind Ihre Erwartungen an das erwartete Verhalten anders als bei Feuer und Vergessen. –