我看到一个问题与RestKit的优秀的远程请求将导致其他请求排队和阻塞,直到前一个完成。我已经读过RestKit默认AFNetworking的setMaxConcurrentOperationCount
值为5,但我遇到阻塞只有一个未完成的请求。RestKit - 请求块,直到上一个调用完成
RestKit的当前版本是否仍默认为5,如果是这样,可能会导致我缺少并发请求?
RestKit 0.20.3
请求
- (RKManagedObjectRequestOperation*) getUser {
RKObjectManager *objectManager = [RKObjectManager sharedManager];
NSDictionary *items = [objectManager.HTTPClient defaultHeaders];
NSString *auth = [items objectForKey:@"Authorization"];
if (auth == nil) {
NSLog(@"You must login first\n");
return nil;
}
auth = [auth stringByReplacingOccurrencesOfString:@"Bearer " withString:@""];
NSMutableString *path = [NSMutableString stringWithFormat:@"/users?accessToken=%@", auth];
return [[RKObjectManager sharedManager] appropriateObjectRequestOperationWithObject:nil method:RKRequestMethodGET path:path parameters:nil];
}
- (void) getUser:(void (^) (RKObjectRequestOperation *operation , RKMappingResult *mappingResult))success failure:(void (^) (RKObjectRequestOperation *operation , NSError *error))failure {
RKManagedObjectRequestOperation *requestOperation = [self getUser];
[requestOperation setCompletionBlockWithSuccess:success failure:failure];
[requestOperation start];
}
前者是在测试中使用的一个帮手,而后者实际上是由生产代码调用。我没有看到我的代码中明确设置了队列大小的地方。
具体说明您正在使用的版本号。你记录了队列的并发数吗?此外,请显示您正在使用的代码,有时队列大小明确设置为1. – Wain
@Wain已更新。我不会在任何地方设置队列大小,我只是制作一个标准的'''''''''''''''''''''''''适当的参数:'调用。 –