从函数返回未来值

zor*_*rro 5 rust rust-tokio

我最近开始学习 Rust,我不确定如何从应该返回 Result 的函数返回未来值。当我尝试仅返回响应变量并删除结果输出时,出现错误:无法在返回的函数中使用运算符?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)
 }
Run Code Online (Sandbox Code Playgroud)

我在 main() 中期望的是获取并打印响应值:

fn main() {
    let response = download();
    println!("{:?}", response)
}
Run Code Online (Sandbox Code Playgroud)

Đor*_*jić 4

我想你的代码应该是这样的

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)
}
Run Code Online (Sandbox Code Playgroud)

这是Rust 游乐场链接