AFNetworking异步post请求

我现在用AFNetworking来做异步请求,在success:^(NSURLSessionDataTask * _Nonnull task,id _Nullable responseObject)里接收放回的数据。
现在有一个问题,某个页面有几个按钮,每个按钮会触发一个网络请求。如果网络不好,用户点击了多个按钮,就会触发多个网络请求,当第一个网络请求还没完成时第二个网络请求被触发,这时接收到的返回数据是最后的一个请求的,前面的不见了。有没有人遇见过这种情况?该怎么处理。请高手指点。

阅读 3.8k
1 个回答

如果你直接使用的是下面版本的 post 方法,那么,每个请求都是单独的,不会有“前面的不见了”的情况。

- (NSURLSessionDataTask *)POST:(NSString *)URLString
                    parameters:(id)parameters
                       success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
                       failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
{
    return [self POST:URLString parameters:parameters progress:nil success:success failure:failure];
}

你是否有相关的 cancel 调用?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题