美文网首页
RAC的throttle操作

RAC的throttle操作

作者: 凯司机 | 来源:发表于2021-04-30 09:36 被阅读0次

时间操作——throttle:阀门:

// 阀门:防止重复的操作和按钮以及搜索的多次重复的点击和事件的触发。
// 信号执行2秒后,如果没有新的操作则执行当前最终的信号。
RACSignal *signalA = [[[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
  [subscriber sendNext:@1];
  [subscriber sendNext:@2];
  [subscriber sendNext:@4];
  [subscriber sendCompleted];
  return [RACDisposable disposableWithBlock:^{
    NSLog(@"完成");
  }];
}] delay:3] repeat];

RACSignal *signalB = [signalA throttle:2];

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

相关文章

网友评论

      本文标题:RAC的throttle操作

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