afnetworking和批处理/串行操作



我正在尝试使用AFNetworking进行一系列网络操作。例如:

[SomeApiICreated doNetworkingStuff success:^(NSString *message)
                           {
                             NSLog(@"Yay!");
                           }
                           failure:^(NSError *error)
                           {
                             NSLog(@"Oh noes!");
                           }];

现在,在Donetworkingstuff中,我想执行潜在的多个网络任务。例如

  1. 获取应用程序令牌
  2. if( appTokenGot)step3 else callfailure
  3. 使用应用令牌获取内容列表
  4. if( listGot)step5 else callFailure
  5. 等。

,但我也想调用仅执行3个步骤的doNetworkingStuff2"是的"或"有问题"

NSOperationQueue是正确的,还是"如果这个,则"的嵌套函数是阻止执行此操作的最佳方法?

任何示例也将有所帮助。

为什么不只是调用其他功能从成功/失败块中传递数据。例如,我在app.net api中使用类似的东西。

[[KSADNAPIClient sharedAPI] postPath:@"stream/0/posts"
                              parameters:params
                                 success:^(AFHTTPRequestOperation *operation, id responseObject)
     {
         [[KSPostsController sharedController] addPosts:responseObject];
     }
                                 failure:^(AFHTTPRequestOperation *operation, NSError *error)
     {
         if (block) {
             block([NSArray array], error);
         }
     }];

这样,我不会在成功和故障障碍中堆叠大量逻辑。

afaik,做到这一点的最佳方法是使用完成回调进行连续的呼叫。请记住,您需要响应对象来执行连续的步骤,因此您在成功回调中收到此对象。

相关内容

  • 没有找到相关文章

最新更新