RAC 组合concat

concat组合!! left 信号的响应顺序先执行A 再执行B再C

RACSignal *signalA = [RACSignal createSignal:^RACDisposable * _Nullable(id_Nonnull subscriber) { NSLog(@"fasongA");

//发送 数据 [subscriber sendNext:@"shujuA"];

//A结束了 [subscriber sendCompleted];

// [subscriber sendError:nil] error 不可以 return nil;

}];

RACSignal *signalB = [RACSignal createSignal:^RACDisposable * _Nullable(id_Nonnull subscriber) { NSLog(@"fasongB");

//发送 数据 [subscriber sendNext:@"shujuB"];

[subscriber sendCompleted]; return nil;

}];

RACSignal *signalC = [RACSignal createSignal:^RACDisposable * _Nullable(id _Nonnull subscriber) {

        NSLog(@"fasongC");

        //发送 数据

        [subscriber sendNext:@"shujuC"];

        return  nil;

    }];


    //concat:按照顺序组合

    //创建组合信号

  // RACSignal *concatSignal = [[signalA concat:signalB] concat:signalC];//或者下面写法一样

RACSignal *concatSignal = [RACSignal concat:@[signalA,signalB,signalC]];

    //订阅组合信号

    [concatSignal subscribeNext:^(id  _Nullable x) {

        NSLog(@"组合%@",x);

    }];


你可能感兴趣的:(RAC 组合concat)