有的信号不需要返回值, 只是当一个信号触发后立即执行:
[[[[self.signInButton
rac_signalForControlEvents:UIControlEventTouchUpInside]
//立即执行(不需要经历next)
doNext:^(id x) {
self.signInButton.enabled = NO;
self.signInFailureText.hidden = YES;
}]
flattenMap:^id(id x) {
return [self signInSignal];
}]
subscribeNext:^(NSNumber *signedIn) {
self.signInButton.enabled = YES;
BOOL success = [signedIn boolValue];
self.signInFailureText.hidden = success;
if (success) {
[self performSegueWithIdentifier:@"signInSuccess" sender:self];
}
}];