Dovrei attendereReadAsStringAsync()
se I è atteso la risposta su cui sto eseguendo ReadAsStringAsync()
? Per chiarire ulteriormente, qual è la differenza o il modo giusto tra i seguenti? Sono effettivamente uguali?Devo attendere ReadAsStringAsync() se ho aspettato la risposta che sto eseguendo ReadAsStringAsync()?
var response = await httpClient.GetAsync("something");
var content = await response.Content.ReadAsStringAsync();
return new AvailableViewingTimesMapper().Map(content);
O
var response = await httpClient.GetAsync("something");
var content = response.Content.ReadAsStringAsync();
return new AvailableViewingTimesMapper().Map(content.Result);
penso che si dovrebbe fare solo 'contenuto var = response.Content.ReadAsStringAsync();' se si voleva fare qualcosa con il compito prima di utilizzare il risultato. –
Non dovresti mai fare 'Map (content.Result)' puoi bloccare il tuo programma, se vuoi rimandarlo devi ancora usare await. 'Mappa (attendi il contenuto)', –
Il tuo primo esempio è quello corretto in base alle risposte sottostanti, ma legge seriamente tutte le risposte, poiché spiegano perché l'esempio due può introdurre un deadlock. –