012 Rust 非同步程式設計,在 async 塊中使用?

linghuyichong發表於2020-07-15

在Rust非同步程式設計中能否像在同步程式設計中一樣使用問號呢?我們來試試。

  • 原始碼
[dependencies]
futures = "0.3"
  • 配置檔案
use futures;

async fn foo() -> Result<(), String>{
    "foo";
    Ok(())
}

async fn func() -> Result<(), String>{

    let fut = async {
        foo().await?;
        Ok::<(), String>(()) // <- note the explicit type annotation here
        //Ok(()) // <- note the explicit type annotation here
    };

    fut.await
}

fn main() {
    let _ = futures::executor::block_on(func());
    println!("Hello, world!");

}
本作品採用《CC 協議》,轉載必須註明作者和本文連結
令狐一衝

相關文章