根据上面的代码 这里貌似还是同步的
rustc 1.43.0 (4fb7144ed 2020-04-20)
use futures::executor::block_on;
type Song = fn();
async fn learn_and_song() {
let sg:Song = learn_song().await;
song(sg).await;
}
async fn learn_song() -> Song {
println!("learn song");
||{
println!("小星星")
}
}
async fn song(song: Song) {
song();
}
async fn dancing() {
println!("dancing");
}
async fn performance() {
let f1 = learn_and_song();
let f2 = dancing();
futures::join!(f1,f2);
}
fn main() {
block_on(performance());
// 这里的测试结果 貌似还是同步代码
}
运行结果
xxx@mv-ubuntu-006:~/Github/Re-learning-RUST/demo1$ cargo run
Compiling demo1 v0.1.0 (/home/xxx/Github/Re-learning-RUST/demo1)
learn song
小星星
dancing
dancing 没有在 song前面
推荐文章: