use std::time::Duration;
use async_static::async_static;
use tokio::time::sleep;
async fn get_num() -> i32 {
println!("hello world");
sleep(Duration::from_millis(100)).await;
123
}
async_static! {
static ref FOO:i32 = get_num().await;
}
#[tokio::test]
async fn test() {
let n = FOO.await;
println!("The result of the first call: {}", n);
let n = FOO.await;
println!("The result of the second call: {}", n);
}