我从我的控制器中的异步操作调用此getJson()函数.我有一个大文件列表,每个文件需要几秒钟才能处理ReadToEndAsync().即使我在等待它,ReadToEndAsync()也会阻塞.
如何异步调用ReadToEndAsync()?
public static async Task<T> getJson<T>(String url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(server + url);
HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync();
String jsonString;
//get the json string from the response
using (var xx = response.GetResponseStream())
{
StreamReader reader = new StreamReader(xx, Encoding.UTF8);
jsonString = await reader.ReadToEndAsync()
}
}
Run Code Online (Sandbox Code Playgroud)
_model.list.Add(await DataRetriever.getJson<ReviewModel>(url));
_model.list.Add(await DataRetriever.getJson<ReviewModel>(url));
_model.list.Add(await DataRetriever.getJson<ReviewModel>(url));
Run Code Online (Sandbox Code Playgroud)