operator_delay
The delay operator shifts upstream values forward in time by a specified
duration.
Upstream completion and cancellation can happen instantly if there are no pending delayed values, otherwise it will complete or cancel once all delayed values have been emitted.
Upstream errors are immediately propagated downstream, cancelling any pending delayed values.
See Also
- AdsrOperator - Convert trigger signals into an ADSR envelope driven by the scheduler.
- DebounceTimeOperator - Emit the most recent value after a period of silence.
- FallbackWhenSilentOperator - Emit a fallback value on ticks where the source stayed silent.
- SubscribeOnOperator - Schedule upstream subscription on the provided scheduler.
- ThrottleTimeOperator - Limit the frequency of downstream emissions.
Example
cargo run -p rx_core --example operator_delay_example
let mut executor = MockExecutor::new_with_logging();
let scheduler = executor.get_scheduler_handle();
let _subscription = (1..=3)
.into_observable()
.delay(Duration::from_millis(1000), scheduler)
.subscribe(PrintObserver::new("delay_operator"));
executor.tick(Duration::from_millis(1000));
Output:
Ticking... (1s)
delay_operator - next: 1
delay_operator - next: 2
delay_operator - next: 3
delay_operator - completed
delay_operator - unsubscribed