Asynchronous 是否有一种等待返回结果而不是T的方法?
我正在使用reqwest使用函数对API发出get请求:Asynchronous 是否有一种等待返回结果而不是T的方法?,asynchronous,rust,async-await,Asynchronous,Rust,Async Await,我正在使用reqwest使用函数对API发出get请求: async fn get_item_response(client: &Client, id: &str) -> Result<Response, reqwest::Error> { let base = "http://someurl.com/item?={item_id}" .replace("{item_id}", id); client.get(&base).sen
async fn get_item_response(client: &Client, id: &str) -> Result<Response, reqwest::Error> {
let base = "http://someurl.com/item?={item_id}"
.replace("{item_id}", id);
client.get(&base).send()
}
响应是一种响应类型,而不是结果,这意味着我无法检查是否发生了错误而不惊慌。
是否有方法访问结果?该结果?不是等待的组成部分。它是一个运算符本身,它将展开有效值或返回错误值,并将它们传播到调用函数。如果没有它,您必须自己检查结果:
匹配获取项目响应和客户端,1.等待{
Okresponse=>/*使用response*/*执行操作,
Erre=>/*处理错误*/,,
}
那个?不是等待的组成部分。它是一个运算符本身,它将展开有效值或返回错误值,并将它们传播到调用函数。如果没有它,您必须自己检查结果:
匹配获取项目响应和客户端,1.等待{
Okresponse=>/*使用response*/*执行操作,
Erre=>/*处理错误*/,,
}
async fn main() -> Result<(), Box<dyn Error>> {
let client = Client::new();
let response = get_item_response(&client, "1").await?;
}