1

我使用 flattenMap 转换来自信号的任何新值,并且我想根据某些条件停止进程,而不是错误,而是完成状态。下面提到的代码不允许这样做。它只是过滤一些值。如何从 flattenMap 完成?

RACSignal* anySignal = //
[ [ anySignal
 flattenMap: ^(id _)
 {
    return [ RACSignal empty ];
 } ]
subscribeCompleted:
^{
   NSLog(@"Not Called");
}];
4

1 回答 1

5

-flattenMap:在所有相关信号完成之前不会完成,这意味着-flattenMap:被调用的信号以及从 map 块返回的信号。要完成信号,请检查-takeUntilBlock:-takeWhileBlock:

于 2014-10-15T20:56:01.193 回答