问题描述
我有这部分代码,它与“ 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 (将#修改为@)