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 Updated. 어디서나 대기열 크기를 설정하지 않고 표준'properObjectRequestOperationWithObject : method : path : parameters :'호출 만하고 있습니다. –