2
0
Fork 1
mirror of https://github.com/async-rs/async-std.git synced 2025-01-21 04:53:50 +00:00
async-std/examples/throttle.rs

27 lines
686 B
Rust

//! Spawns a timed task which gets throttled.
fn main() {
#[cfg(feature = "unstable")]
{
use async_std::prelude::*;
use async_std::task;
task::block_on(async {
use async_std::stream;
use std::time::Duration;
// emit value every 1 second
let s = stream::interval(Duration::from_secs(1)).enumerate();
// throttle for 2 seconds
let s = s.throttle(Duration::from_secs(2));
s.for_each(|(n, _)| {
dbg!(n);
})
.await;
// => 0 .. 1 .. 2 .. 3
// with a pause of 2 seconds between each print
})
}
}