recursion/recursion.rs
1use std::time::Duration;
2
3use microasync::sync;
4use microasync_rt::{get_current_runtime, QueuedRuntime, Runtime};
5
6fn main() {
7 let mut runtime = QueuedRuntime::new();
8 runtime.push(print_something_after_ms(0));
9 sync(runtime);
10}
11
12async fn print_something_after_ms(ms: u64) {
13 get_current_runtime()
14 .await
15 .sleep(Duration::from_millis(ms))
16 .await;
17 println!("something after {ms}ms! :D");
18 get_current_runtime()
19 .await
20 .push(print_something_after_ms(ms + 1));
21}