Возврат будущего значения из функции - PullRequest
0 голосов
/ 15 марта 2020

Я недавно начал изучать Rust, и я не уверен, как вернуть будущее значение из функции, которая должна возвращать Result. Когда я пытаюсь вернуть только переменную ответа и удалить результат 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)
 }

В main () я ожидаю получить и напечатать значение ответа:

fn main() {
    let response = download();
    println!("{:?}", response)
}

1 Ответ

1 голос
/ 15 марта 2020

Полагаю, ваш код должен выглядеть примерно так

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)
}

Вот ссылка ржавчины детской площадки

...