首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFHTTPRequestOperation依赖

AFHTTPRequestOperation依赖
EN

Stack Overflow用户
提问于 2015-09-30 19:24:48
回答 1查看 169关注 0票数 0

在一个使用AFNetworking进行服务调用的应用程序中,我有以下场景:

  1. 我调用一个特殊服务,它将为我生成一个令牌。
  2. 我调用所需的服务,将此令牌作为参数发送。
  3. 我打电话给另一个特殊的服务部门来摧毁这个令牌。

每次向服务器提出请求时,我都必须遵循这三个步骤。我不能改变服务器的工作方式,所以我必须遵守这个要求。对于多个请求,我也不能使用相同的令牌。

我的问题如下--我试图使用AFHTTPRequestOperation来完成这个任务:

代码语言:javascript
复制
NSError *serializationError = nil;
NSMutableURLRequest *request = [self.manager.requestSerializer requestWithMethod:@"POST" URLString:[[NSURL URLWithString:@"serviceName.json" relativeToURL:self.manager.baseURL] absoluteString] parameters:@{ @"token": token } error:&serializationError];
AFHTTPRequestOperation *myRequestOperation = [self.manager HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {
    // Success login
} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
    // Failure logic
}];

[myRequestOperation addDependency:createTokenRequestOperation];

其中self.managerAFHTTPRequestOperationManager的一个实例,但是有一个问题--我没有token的值。

由于myRequestOperation应该只在上面列表中的第1点之后执行,所以我使它依赖于将获得令牌的操作。

现在出现了我的困惑--当我需要实例化两个参数以使其中一个依赖于另一个操作时,如何创建一个使用以前操作中的参数的操作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-06 18:03:08

由于无法找到适合我的解决方案,所以我最终使用了PromiseKit,它允许我链接如下异步调用:

代码语言:javascript
复制
[NSURLConnection promise:rq1].then(^(id data1){
    return [NSURLConnection promise:rq2];
}).then(^(id data2){
    return [NSURLConnection promise:rq3];
}).then(^(id data3){
    // Work with the data returned from rq3
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32874103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档