我在我的应用程序中使用ASIHTTPRequest,专门用于异步请求。 一些方法是异步方法的组合。 例如,看一些方法+(void)updateData,它会调用
由于异步/回调机制,我的方法updateData将被拆分(而不是同步上下文中只有一个方法),它将需要:
-(void) updateData {
... // Some work
x.callback = @selector(updateData1);
[x downloadData1];
}
-(void) updateData1 {
... // Some work
y.callback = @selector(updateData2);
[x downloadData2];
}
...
- (void) updateDataN {
... // Some work
// Need to callback my own "delegate"
[self.target performSelector:callback ...];
}
因此,updateData也是异步的。
这段代码不是来自我的项目,我只是试图描绘一个简单的例子。但是可以有一些条件调用和复合材料......
在这里,代码变得难以阅读。很难遵循执行流程。 你建议通知一个方法是异步的(-Async后缀?)还是回调,有什么好的做法或命名约定?我发现后缀数字很难看,不适合非线性流程。
你有什么建议?你遇到了什么? 或者你认为它是由设计不良的代码造成的?
答案 0 :(得分:1)
重构它以使用块 - 这会将响应放在请求旁边吗?