add async/.await

This commit is contained in:
2020-01-30 21:12:07 +08:00
parent 9e8f93b667
commit 25247c72cc
2 changed files with 36 additions and 0 deletions

12
async_await/Cargo.toml Normal file
View File

@@ -0,0 +1,12 @@
[package]
name = "async_await"
version = "0.1.0"
authors = ["Hatter Jiang <jht5945@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
futures = "0.3.1"
isahc = "0.8.2"
http = "0.1.21"

24
async_await/src/main.rs Normal file
View File

@@ -0,0 +1,24 @@
fn main() {
futures::executor::block_on(get_all());
}
async fn get_all() {
let mut v = vec![];
for _ in 0..10 {
v.push(get_url("https://www.baidu.com/"));
}
futures::future::join_all(v).await;
}
async fn get_url(url: &str) {
println!("Start get: {}", url);
let r = isahc::get_async(url).await;
match r {
Err(e) => println!("Get response error: {}", e),
Ok(o) => println!("Response: {:?}", o.status()),
};
}