我对生锈还是很陌生,我想编写一个脚本来刮取页面并从页面中拉出所有带有标题的链接。我什至没有发出get请求。 :(
fn main() {
println!("Started!");
let body = reqwest::get("https://news.ycombinator.com")
.await?
.text()
.await?;
println!("body = {:?}", body);
}
我显然没有返回任何内容,但是我对语法感到困惑,有人可以解释吗?操作员,也可以帮助我解决此问题。
问号运算符只能在返回std::Result
的函数中使用。粗略地说,您可以认为x?
的含义
match x {
Err(e) => return Err(e),
Ok(y) => y,
}
(请参阅文档here)
await
产生错误结果时您想做什么?如果您不希望发生这种情况,那么可以安全地告诉Rust发生恐慌(即崩溃)。这是Result::unwrap
的用途:
fn main() {
println!("Started!");
let body = reqwest::get("https://news.ycombinator.com")
.await
.unwrap()
.text()
.await
.unwrap();
println!("body = {:?}", body);
}