想象一个列出一些食谱的表格视图。每次用户点击食谱时,都会加载一个新的表格视图,列出收据成分。
为了获取信息,我使用以下方法异步调用 REST API:
NSURLRequest *request = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30];
当用户点击食谱时,会调用 API 以获取食谱成分。但是,一旦进入新视图(其中列出了成分)并且在收到答案之前,用户可以返回并选择新食谱。
在这种情况下,我会收到两个答案;每个请求一个。问题是我不知道这个答案的要求是什么,我会用错误答案中的错误内容刷新 UI。
我不确定在这种情况下哪种方法是正确的。我正在考虑在答案中包含每个请求参数。因此,例如,如果我使用 API 搜索某个术语,我们说“foo”,我也会在答案中包含该术语,例如:
要求:
http://domain.com/api/search?term=foo
回答
{
"requestType": "search",
"term": "foo",
"result" : "a foo result"
}
在每个答案中包含每个请求参数对我来说看起来很奇怪,但这是我发现的唯一解决方案,可以创建一个准备好被称为异步的无状态 API。
¿ 有没有其他方法可以做到这一点?
(我正在使用委托模式为收到答案时调用的每个请求分配一个对象。问题是,在食谱的示例中,每次列出食谱成分时都会重用成分表视图)。