PromiseKit 多个接口回调后刷新界面

使用场景
  • 一般我们某个界面需要请求多个接口请求,
    并在全部接口请求成功后,
    进行界面的刷新。

-为了不在某个接口成功回调中,再请求另外的接口,(感觉后期出现无限回调)。

框架 PromiseKit,可以帮助我们。-objc版本
pod "PromiseKit", "~> 1.7.4"
列如 PMKPromise 中 when 语法
/// 4个request方法都走
[PMKPromise when:@[[self oneRequest],[self twoRequest],[self threeRequest],[self fourRequest]]].then(^( id reObjec1,
                                                                                                        id reObjec2,
                                                                                                        id reObjec3,
                                                                                                        id reObjec4){

        NSLog(@"四个请求都成功,才这里");
    }).catch(^ (NSError *error) {
        
        NSLog(@"其中任何一个request失败,都走这里");
    }).finally(^{
        
    });
列如 Request其他一个请求方法
- (PMKPromise *)oneRequest {
   return [PMKPromise promiseWithResolver:^(PMKResolver resolve) {
        NSString *url = @"xxxxxxxxxxxxxxxxxx";
        [[AFHTTPSessionManager manager] POST:url parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
            NSLog(@"");
        } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
            resolve(responseObject);
            NSLog(@"请求成功");
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            NSLog(@"报错");
        }];
    }];
}

- (PMKPromise *)twoRequest   {....}
- (PMKPromise *)threeRequest {....}
- (PMKPromise *)fourRequest  {....}

你可能感兴趣的:(PromiseKit 多个接口回调后刷新界面)