使用Alamofire我需要发出一组服务器请求并等待所有服务器请求成功或失败并将结果收集到结果对象中。
在Alamofire中有没有正确/提供的方法?
我可以将每个单独的结果放入队列中,等待计数=请求总数(显然是在一个单独的线程中),但这看起来有点笨拙。
答案 0 :(得分:2)
要总结此问题并回答How to tell if blocks in loop all have completed executing?,您需要创建一个调度组,在开始每个操作时输入该组,在完成每个操作时退出该组,最后使用DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
public App()
{
this.Deactivated += App_Deactivated;
this.Activated += App_Activated;
timer.Tick += delegate
{
Application.Current.MainWindow.Activate();
};
timer.Interval = new TimeSpan(0, 0, 0, 0, 10);
}
void App_Activated(object sender, EventArgs e)
{
timer.Stop();
}
void App_Deactivated(object sender, EventArgs e)
{
timer.Start();
}
小组完成后执行一个块:
{
"EventID": [
"1234-567-890",
"1234-567-890",
"1234-567-890"
],
"boolFlag": 0
}