RAC的throttle操作

2021-04-30  本文已影响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
上一篇 下一篇

猜你喜欢

热点阅读