在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 協議》,轉載必須註明作者和本文連結