Async
async
, .await
& impl Future
In Rust, asynchronous functions are defined by proceeding a synchronous function
definition with async
keyword which turns the return value into an
impl Future<Output = SyncReturnType>
, and are consumed by .await
-ing it.
#![allow(unused)] fn main() { use trpl::Html; // -> impl Future<Output = Option<String>> async fn page_title(url: &str) -> Option<String> { let response = trpl::get(url).await; // awaiting for an async function let response_text = response.text().await; Html::parse(&response_text) .select_first("title") .map(|title_element| title_element.inner_html()) } }