reactive-cocoaracsignal

Create a RACSignal which sends error if RACSignal sends next


With ReactiveCocoa I'm sure there is a better way than doing this?

RACSignal *crashSignal = [cancelSignal tryMap:^id(id value, NSError **errorPtr) {
    *errorPtr = [self createError];
    return nil;
}];

Solution

  • More idiomatic would be:

    RACSignal *crashSignal = [cancelSignal flattenMap:^(id value) {
        return [RACSignal error:[self createError]];
    }];