Return 函数的未来值
Return Future value from a function
我最近开始学习 Rust,我不确定如何从一个应该 return 结果的函数中 return 未来值。当我尝试 return 只是响应变量并删除结果输出时,我得到一个错误:cannot use the ?
operator in a function that returns std::string::String
#[tokio::main]
async fn download() -> Result<(),reqwest::Error> {
let url = "https://query1.finance.yahoo.com/v8/finance/chart/TSLA";
let response = reqwest::get(url)
.await?
.text()
.await?;
Ok(response)
}
我在 main() 中期望的是获取并打印响应值:
fn main() {
let response = download();
println!("{:?}", response)
}
我想你的代码应该是这样的
extern crate tokio; // 0.2.13
async fn download() -> Result<String, reqwest::Error> {
let url = "https://query1.finance.yahoo.com/v8/finance/chart/TSLA";
reqwest::get(url).await?.text().await
}
#[tokio::main]
async fn main() {
let response = download().await;
println!("{:?}", response)
}
我最近开始学习 Rust,我不确定如何从一个应该 return 结果的函数中 return 未来值。当我尝试 return 只是响应变量并删除结果输出时,我得到一个错误:cannot use the ?
operator in a function that returns std::string::String
#[tokio::main]
async fn download() -> Result<(),reqwest::Error> {
let url = "https://query1.finance.yahoo.com/v8/finance/chart/TSLA";
let response = reqwest::get(url)
.await?
.text()
.await?;
Ok(response)
}
我在 main() 中期望的是获取并打印响应值:
fn main() {
let response = download();
println!("{:?}", response)
}
我想你的代码应该是这样的
extern crate tokio; // 0.2.13
async fn download() -> Result<String, reqwest::Error> {
let url = "https://query1.finance.yahoo.com/v8/finance/chart/TSLA";
reqwest::get(url).await?.text().await
}
#[tokio::main]
async fn main() {
let response = download().await;
println!("{:?}", response)
}