如何解决嵌套nsurl dataTaskWithRequest但在完成处理程序调用之后
我有这部分代码,它与“ NSURLConnection sendSynchronousRequest”一起使用,并且他们正在分派并且两个API都在其中调用而没有问题,但是,因为我要移至“ NSURLSession”,所以我要调用在complementHandler内第一个响应之后的下一个API,我是否需要为第二个API调用添加任何类型的调度?
// dispatch_async(dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_DEFAULT,0),^{ dispatch was here
__block Nsstring* url = @"www.google.com";
[[LoaderService get] getRequestFrom:url completionHandler:^(TcHttpJSONResponse *response) { // first Call
if (!response.success) {
dispatch_async(dispatch_get_main_queue(),^{
failBlock();
});
return;
}
url = [Nsstring stringWithFormat:@"www.google.com/drive"];
[[LoaderService get] getRequestFrom:url completionHandler:^(TcHttpJSONResponse *response) { // second Call
if (!response.success) {
dispatch_async(dispatch_get_main_queue(),^{
failBlock();
});
return;
}
dispatch_async(dispatch_get_main_queue(),^{
successBlock(transactionsArray);
});
}];
}];
// }]; //end of dispatch
在LoaderService中
- (void)getRequestFrom:(Nsstring *)url completionHandler:(void (^)(TcHttpJSONResponse *response))completionHandler {
NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithRequest:[TcHttpHelper getRequestFromUrlWithAuthorizationToken:url token:[self getAuthToken]]
completionHandler:^(NSData *data,NSURLResponse *response,NSError *error) {
completionHandler([[TcHttpJSONResponse alloc] initWithResponse:data urlResponse:(NSHTTPURLResponse*)response error:error]);
}] resume];
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。