美文网首页
RAC的reduceEach值操作

RAC的reduceEach值操作

作者: 凯司机 | 来源:发表于2021-04-16 10:29 被阅读0次

值操作—reduceEach:

// 逐一操作信号的元组值  
// map遇到错误的时候会无一例外的返回这个错误,并立即结束信号。
RACSignal *signalA = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
  [subscriber sendNext:RACTuplePack(@1, @2)];
  [subscriber sendNext:RACTuplePack(@2, @3)];
  [subscriber sendNext:RACTuplePack(@3, @4)];
  [subscriber sendNext:RACTuplePack(@4, @5)];
  [subscriber sendCompleted];
  return [RACDisposable disposableWithBlock:^{
    NSLog(@"完成");
  }];
}];

RACSignal *signalB = [signalA reduceEach:^id(NSNumber *first, NSNumber *second) {
  return @(first.integerValue + second.integerValue);
}];

[[signalB subscribeNext:^(id x) {
  NSLog(@"subscribeNext:%@",x);
}] dispose];

执行结果:

2021-04-14 14:38:17.763081+0800 xxxxx[3049:927533] subscribeNext:3

2021-04-14 14:38:17.763162+0800 xxxxx[3049:927533] subscribeNext:5

2021-04-14 14:38:17.763194+0800 xxxxx[3049:927533] subscribeNext:7

2021-04-14 14:38:17.763218+0800 xxxxx[3049:927533] subscribeNext:9

2021-04-14 14:38:17.764598+0800 xxxxx[3049:927533] 完成

相关文章

网友评论

      本文标题:RAC的reduceEach值操作

      本文链接:https://www.haomeiwen.com/subject/bjaklltx.html