美文网首页
PromiseKit 多个接口回调后刷新界面

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

作者: EdenChow | 来源:发表于2019-08-18 21:27 被阅读0次
使用场景
  • 一般我们某个界面需要请求多个接口请求,
    并在全部接口请求成功后,
    进行界面的刷新。

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

框架 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 多个接口回调后刷新界面

      本文链接:https://www.haomeiwen.com/subject/udvdsctx.html