I-Daten am Abrufen iOS7 der neuen URL-Anforderung Methoden, etwa so:Wie Sie eine Block basierte URL Anfrage erneut zu versuchen
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:[self.baseUrl
stringByAppendingString:path]]];
NSURLSessionDataTask *dataTask = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
NSUInteger responseStatusCode = [httpResponse statusCode];
if (responseStatusCode != 200) {
// RETRY (??????)
} else
completionBlock(results[@"result"][symbol]);
}];
[dataTask resume];
Leider von Zeit zu Zeit erhalte ich HTTP-Antworten, die den Server nicht erreichbar ist (response code != 200
) und müssen dieselbe Anfrage erneut an den Server senden.
Wie kann das gemacht werden? Wie würde ich mein Code-Snippet oben ausfüllen müssen, wo mein Kommentar // RETRY
ist?
In meinem Beispiel rufe ich den Completion-Block nach einem erfolgreichen Abruf. Aber wie kann ich die gleiche Anfrage noch einmal senden?
Vielen Dank!
Lohnt es sich, die meisten Statuscodes erneut versuchen? Es scheint, als wäre der einzige Status-Code, den es wert ist, erneut zu versuchen, 500. Ich bin brandneu, also bin ich neugierig darauf, einen Verbindungsfehler oder einen Serverfehler erneut zu versuchen. –