<分区>
这是我需要帮助的场景。
用户输入关键字并点击搜索
我正在向多个 API 提供该关键字,以便使用 httpclient 请求获得结果。
我收到基于来自不同 API 的搜索关键字的响应。
但问题是我正在对这些 API 进行一个一个的搜索调用。我想做一些事情,一旦用户点击搜索,它就会立即调用所有 API,然后合并结果。
WalmartModel model=new WalmartModel();
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("**URL 1**");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//GET Method
HttpResponseMessage response = await client.GetAsync("");
if (response.IsSuccessStatusCode)
{
model = await response.Content.ReadAsAsync<WalmartModel>();
}
else
{
Console.WriteLine("Internal server Error");
}
}
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("**URL 2**");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//GET Method
HttpResponseMessage response = await client.GetAsync("");
if (response.IsSuccessStatusCode)
{
model = await response.Content.ReadAsAsync<WalmartModel>();
}
else
{
Console.WriteLine("Internal server Error");
}
}
一旦我得到结果,我就会合并列表并返回它。(我认为这不是要遵循的最佳实践。)
我知道我可以利用多任务线程,但我没有可遵循的实际示例。任何人都可以建议处理此问题的最佳方法吗?