use std::time::Duration;
// 模拟网络请求的异步函数
async fn mock_network_request() -> String {
// 模拟网络延迟
tokio::time::sleep(Duration::from_secs(2)).await;
"Response from network".to_string()
}
#[tokio::main]
async fn main() {
// 创建一个Future并通过await处理异步操作
let result = mock_network_request().await;
println!("{}", result);
}
- 首先定义了一个异步函数
mock_network_request
,使用 async
关键字标记,这个函数模拟网络请求并返回一个 String
类型的结果。
- 在函数内部使用
tokio::time::sleep
模拟网络延迟,await
关键字用于暂停当前异步函数的执行,直到 sleep
操作完成。
- 在
main
函数中,同样使用 async
标记为异步函数,并通过 await
等待 mock_network_request
这个 Future
执行完成,获取其返回结果并打印。#[tokio::main]
是Tokio运行时提供的宏,用于在Tokio运行时环境中执行异步代码。