用iOS中后台线程中的同步请求替换异步请求?

问题描述:

我试图将AFHTTPRequestOperation对象与其他NSOperation对象组合放入队列中。但是现在我知道在AFHTTPRequestOperation中只有请求按正确的顺序执行(不是响应处理块)。用iOS中后台线程中的同步请求替换异步请求?

我不需要正确的请求顺序,但我需要以正确的顺序处理它们的响应,并在最后发送“成功”通知。如果其中一个步骤失败,则取消序列。我唯一的想法是:

NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ 

//synchronous request1 
... 
//handle request1 response 
... 
//synchronous request2 
... 
//handle request2 response 
... 
//send notification about success or failure 
... 
}]; 

它看起来很疯狂,但正确。这段代码是否正确?你能提供更好的建议吗?

你说得对。基本的是,你必须根据完成来同步响应。如果您使用同步或异步方式,则无关紧要。方案:请求(同步/异步) - >完成 - >请求2(同步/异步) - >完成...等等。