【发布时间】:2021-09-15 00:55:35
【问题描述】:
我想启动GetAsync 或PostAsync,然后在循环中执行某些操作并检查结果。
req1 = client.GetAsync(url_1); // a time consuming request
do
{
//do something here
var req2= await client.GetAsync(url_2);
var result2 = await req2.Content.ReadAsStringAsync();
} while (!IsResultReady(req1)); // check if url_1 job is done and stop the loop
var result1 = await req1.Content.ReadAsStringAsync();
【问题讨论】:
-
您似乎只是忽略了 result2。我认为代码可能已经失去了一些意义。如果我按照您的意图进行操作,那么您可以将 req2 的内容放在单独的线程启动器 tyat 中,然后等待 req1。在等待之后,当 req1 返回它的结果时,使用取消标记停止 req2 线程。
标签: c# wpf asynchronous async-await getasync