我使用同步方法調用ASIFormDataRequest
中的API,並且它每次都返回超時錯誤,記錄此錯誤「Error Domain = ASIHTTPRequestErrorDomain Code = 2」請求超時「超時秒數設置爲10秒,有時在10秒之前向我顯示此錯誤。 但最奇怪的是,當我改變爲異步它開始工作正常。我知道Synchronous阻塞每一件事,直到它得到響應,Asynchronous不會阻塞,但是有什麼其他方法可以使它們不同,以及爲什麼會發生這種情況。下面是我正在做的事情的代碼。請建議我或指導我爲什麼會發生這種情況。提前尋找答覆。在ASIFormDataRequest iOS dev中獲取對同步調用的異步和超時響應
NSString *finalStrUrl = [NSString stringWithFormat:@"SomeAPI"];
ASIFormDataRequest *formRequest = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:finalStrUrl]];
[formRequest setTimeOutSeconds:10];
[formRequest setRequestMethod:@"GET"];
[formRequest setAllowCompressedResponse:NO];
[formRequest setDefaultResponseEncoding:NSUTF8StringEncoding];
如果__IPHONE_OS_VERSION_MAX_ALLOWED> = __IPHONE_4_0
[formRequest setShouldContinueWhenAppEntersBackground:YES];
ENDIF
[formRequest setDelegate:self];
[formRequest startAsynchronous];
注意:這在蜂窩連接所有發生。
注意[ASIHTTPRequest(http://allseeing-i.com/ASIHTTPRequest/)無更長的支持,也不建議用於新工作。 – zaph
@Zaph謝謝,你是在談論iOS 7還是8? – josh
這支持iOS 3.0及以上版本。 – josh