如何知道我的ASIHttpFormDataRequest何時結束? 其實我連續做了兩個。第一個包括髮送消息,而另一個包括從數據庫中檢索所有消息。ASIHttpFormDataRequest結束時通知
或者,它有時會發生,我的第一條消息還沒有被髮送,我的第二個請求,只要給我消息的unuploaded名單。
我想推遲第一個結束時的第二個。 謝謝!
任何想法?
謝謝:)
如何知道我的ASIHttpFormDataRequest何時結束? 其實我連續做了兩個。第一個包括髮送消息,而另一個包括從數據庫中檢索所有消息。ASIHttpFormDataRequest結束時通知
或者,它有時會發生,我的第一條消息還沒有被髮送,我的第二個請求,只要給我消息的unuploaded名單。
我想推遲第一個結束時的第二個。 謝謝!
任何想法?
謝謝:)
這是使用異步請求一個很好的做法。
要了解一個請求已完成或沒有,你可以通過簡單地遵循你的類的[ASIHTTPRequestDelegate][1]
做到這一點。 它爲您提供了一組實現成功,失敗或重定向請求的方法。
在給定的情況下,你正在尋找 - (void)requestFinished:(ASIHTTPRequest *)request;
你將不得不將請求的委託設置爲當前調用類。
根據您當前請求的結果,您可能會觸發另一個請求。您可以在其中放入一個if-statement
以檢查URL和響應代碼並相應地觸發您的下一個請求。 (。還有許多其他的方法來確定時,你可以撥打下一個請求,但最簡單的是要聽的第一個請求的結果)
下面是來自ASIHTTPRequest Projects Documentation一些代碼:
- (IBAction)grabURLInBackground:(id)sender
{
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching text data
NSString *responseString = [request responseString];
// Use when fetching binary data
NSData *responseData = [request responseData];
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
}
HTH
完美謝謝:)。 其實我發現我也可以把這些請求放在隊列中。對 ? – EricDumont