-
map
很常用,映射出[subscriber sendNext:]
方法中發(fā)送的value
捞蛋。
RACSignal *signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
[subscriber sendNext:@"發(fā)送的數(shù)據(jù)"];
// sendError: 內(nèi)部會調(diào)用 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);
}];
*******
打印日志:
發(fā)送的數(shù)據(jù)
發(fā)送的數(shù)據(jù)
錯誤日志
-
mapReplace
使用新value
替換[subscriber sendNext:]
方法中發(fā)送的value
,起替換的作用。
RACSignal *signal = [RACSignal createSignal:
^RACDisposable *(id<RACSubscriber> subscriber) {
[subscriber sendNext:@"發(fā)送的數(shù)據(jù)"];
// sendError: 內(nèi)部會調(diào)用 dispose 斷開鏈接
[subscriber sendError:[NSError errorWithDomain:@"www.huang"
code:10086
userInfo:@{NSLocalizedDescriptionKey:@"錯誤日志"}]];
return nil;
}];
[[signal mapReplace:@"我是mapReplace后的數(shù)據(jù)"]
subscribeNext:^(id x) {
NSLog(@"%@",x);
} error:^(NSError * error) {
NSLog(@"%@",error.localizedDescription);
}];
*******
打印日志:
next:我是mapReplace后的數(shù)據(jù)
error:錯誤日志