为什么从flattenMap返回空不会触发subscribeCompleted

Igo*_*uta 1 ios reactive-cocoa racsignal

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

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

Dav*_*Lee 5

-flattenMap:直到所有相关信号完成后才会完成,这意味着-flattenMap:被调用的信号以及从地图块返回的信号.要完成信号,请检查-takeUntilBlock:并确认-takeWhileBlock:.