AFN實現併發結束後回撥攔截的一種思路
阿新 • • 發佈:2019-02-19
原創帖子,轉載請註明出處:http://blog.csdn.net/sbvfhp/article/details/48112333
需求:有三個併發的通訊執行緒,三個通訊都結束後,進行一個回撥攔截(當然這個也可以用AFN提供的方法實現,這裡只是研究自己的一種實現)
-(void)viewDidLoad { NSString *url1 = @"http://api.oupag.com/dev/api/shenzhentong.php?cardno=29444xxxx"; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.operationQueue.maxConcurrentOperationCount = 3; [manager GET:url1 parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject){ [self requestSuccessLast:responseObject]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { [self requestFailLast:error]; }]; [manager GET:url1 parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject){ [self requestSuccessLast:responseObject]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { [self requestFailLast:error]; }]; [manager GET:url1 parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject){ [self requestSuccessLast:responseObject]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { [self requestFailLast:error]; }]; } -(void)requestSuccessLast:(id)response{ _count++; if (_count==3) { NSLog(@"-------------以成功結束了-------------"); }else{ NSLog(@"第---%d-----次成功",_count); } } -(void)requestFailLast:(id)response{ _count++; if (_count==3) { NSLog(@"-------------以失敗線束了-------------"); }else{ NSLog(@"第---%d-----次失敗",_count); } }