¿Por qué no se completan las señales de ejecución de RACCommand
? Considere el siguiente ejemplo:
RACCommand *command = [[RACCommand alloc] initWithSignalBlock:^ RACSignal * (id value) {
return [RACSignal createSignal:^ RACDisposable * (id<RACSubscriber> subscriber) {
[subscriber sendNext:value];
[subscriber sendCompleted];
return nil;
}];
}];
[command.executionSignals.switchToLatest subscribeNext:^(id value) {
NSLog(@"next: %@", value); // logs "next: foo"
} completed:^{
NSLog(@"completed"); // never executes
}];
[command execute:@"foo"];
No debe confundirse con la señal de señales executionSignals
.
-switchToLatest
no se completa hasta que se completa la señal de señales. Debería usar -materialize
o -concat:
en las señales internas para identificar un evento de finalización.
Miré la documentación de todo excepto la de -switchToLatest
.
Gracias por la rápida respuesta. Ustedes molan. :guiño:
Hola tios
Me encuentro con el mismo problema,
¿Cómo podría obtener la señal interna de un comando?
Gracias
¿Recibo un código de muestra?
Gracias
[[command.executionSignals
map:^(RACSignal *execution) {
return [execution doCompleted:^{
// something
}];
}]
switchToLatest]
Comentario más útil