Я хочу пробовать startRangingBeaconsSignal
(который срабатывает каждые ~ 1 секунду) каждые 10 секунд, получая последний результат каждый раз.Пример сигнала каждые X секунд, отбросить все остальные
Из того, что я понимаю, это не цель функции дроссельной заслонки, которая, по-видимому, только посылаетNext, когда X времени прошло, не получив ничего.
Моя попытка ниже ограничивает сигнал только отправкой next
раз в 10 секунд. Тем не менее, он не пропускает промежуточные сигналы, а вместо этого просто ставит их в очередь, чтобы их отправляли каждые 10 секунд. Итак, уже после того, как startRangingBeaconsSignal
закончил отправку, мы все еще получаем от него капли.
Так что в сущности, мне нужен способ получить последний сигнал один раз каждые 10 секунд и игнорировать все остальные. Любые указатели в правильном направлении с благодарностью получили.
[[[[BeaconManager sharedInstance] startRangingBeaconsSignal]
sample:[RACSignal interval:10 onScheduler:[RACScheduler mainThreadScheduler]]]
subscribeNext:^(NSArray *beacons) {
// do something with beacons array
}
];
Заранее благодарим за это и извинения за мою изворотливую терминологию.
«Тем не менее, он не пропускает промежуточные сигналы, а вместо этого просто ставит их в очередь, чтобы их отправляли раз в 10 секунд. Поэтому, после того, как« startRangingBeaconsSignal »завершил отправку, мы по-прежнему получаем от него капли», , Попробуйте минимальное воспроизведение этого - это не так, как работает «образец». Он делает именно то, что вы описываете, - что вы делаете в 'subscribeNext'? –