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}