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);
}];
网友评论