2
0
Fork 1
mirror of https://github.com/async-rs/async-std.git synced 2025-02-01 18:25:32 +00:00
async-std/examples/throttle.rs

28 lines
686 B
Rust
Raw Normal View History

//! 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
})
}
}