用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(同步/异步) - >完成...等等。