-
map
很常用,映射出[subscriber sendNext:]
方法中发送的value
。
RACSignal *signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
[subscriber sendNext:@"发送的数据"];
// sendError: 内部会调用 dispose 断开链接
[subscriber sendError:[NSError errorWithDomain:@"www.huang"
code:10086
userInfo:@{NSLocalizedDescriptionKey:@"错误日志"}]];
return nil;
}];
[[signal map:^id(id value) {
NSLog(@"%@",value);
return value;
}] subscribeNext:^(id x) {
NSLog(@"%@",x);
} error:^(NSError *error) {
NSLog(@"%@",error.localizedDescription);
}];
*******
打印日志:
发送的数据
发送的数据
错误日志
-
mapReplace
使用新value
替换[subscriber sendNext:]
方法中发送的value
,起替换的作用。
RACSignal *signal = [RACSignal createSignal:
^RACDisposable *(id<RACSubscriber> subscriber) {
[subscriber sendNext:@"发送的数据"];
// sendError: 内部会调用 dispose 断开链接
[subscriber sendError:[NSError errorWithDomain:@"www.huang"
code:10086
userInfo:@{NSLocalizedDescriptionKey:@"错误日志"}]];
return nil;
}];
[[signal mapReplace:@"我是mapReplace后的数据"]
subscribeNext:^(id x) {
NSLog(@"%@",x);
} error:^(NSError * error) {
NSLog(@"%@",error.localizedDescription);
}];
*******
打印日志:
next:我是mapReplace后的数据
error:错误日志
网友评论