我遇到的情况是我必须为每个网络请求发出一个信号,并且网络请求的数量是动态的(取决于用户选择的图像数量)。此请求信号也有一个订单,一个必须在另一个之后执行。
因此,在这种情况下,我必须链接动态数量的相关信号。一旦所有链接信号完成,我需要一个竞争块用于每个信号,以及整个序列的竞争块。
我知道-then:
和-flattenMap
是用于排序信号的有用命令,但有没有办法将未知数量的信号链接起来?
答案 0 :(得分:0)
刚刚创建了解决方案,使用-concat:您可以连接信号,并为每个信号,竞争和错误执行块。
[[RACSignal concat:sequencedSignals] subscribeNext:^(ImagePosted * imagePosted) {
// Block for each signal
} error:^(NSError *error) {
// Error block
} completed:^{
// Sequence completition block
} ];