我有两个RACSignal
,其中一个是计时器,另一个表示有工作要做。由于工作指示有时不可靠,因此有计时器,它负责在精确通知不起作用时定期完成工作。
一般设置是:
RACSignal *signal = [RACSignal merge:@[
[[RACSignal interval:0.5 onScheduler:[RACScheduler scheduler]]
filter:^BOOL(__unused id _x) {
return isThereAProblemInDeliveringWork();
}],
incomingWorkSubject
]];
现在我想signal
一完成就incomingWorkSubject
完成。所以,一般来说:只要它的任何输入信号完成,就完成合并的信号。不幸的是,[RACSignal merge:...]
没有做我想做的事,显然是在等待所有传入的信号完成。
实现这一目标的 ReactiveCocoa 方式是什么?