示例#1
0
        public static List <RestRequestAsyncHandle> PostGatherAsync <T>(this IRestBroadCastClient broadCastclient, IRestRequest request,
                                                                        Action <List <BroadCastResponse <T> >, RestRequestAsyncHandle> callback) where T : new()
        {
            var results  = new List <BroadCastResponse <T> >();
            var handlers = new List <RestRequestAsyncHandle>();

            foreach (var client in broadCastclient.Clients)
            {
                var handle = client.PostAsync <T>(request, (res, t) =>
                {
                    results.Add(new BroadCastResponse <T> {
                        Url = client.BaseUrl, Data = res.Data
                    });
                    if (results.Count == broadCastclient.Clients.Count)
                    {
                        callback(results, t);
                    }
                });
                handlers.Add(handle);
            }
            return(handlers);
        }