第一个 async 程序
要创建一个 async 函数时, 只需要在 fn 关键字之前加上 async 即可:
async fn hello() {
...
}
首先引入 futures 库, 使用命令 cargo add futures, 会在 Cargo.toml里加入:
[dependencies]
futures = "0.3.30"
之后是 main.rs 里的代码:
use futures::executor::block_on;
async fn say_hello() {
println!("Hello, async rust!");
}
fn main() {
let future = say_hello();
block_on(future);
}
以上代码:
async fn函数的返回值是一个Future, 下一节会详细介绍Future相关的.block_on()会阻塞当前线程, 直到Future运行完成
在 async fn 函数内部, 可以使用 .await 来等待另一个实现了 Future trait 的对象运行完成.