Я просто хочу получить JSON по следующему URL-адресу.
Итак, я использовал этот код:
extern crate reqwest;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let res = reqwest::Client::new()
.get("https://api.github.com/users/octocat")
.send()?
.text()?;
println!("{}", res);
Ok(())
}
Но я не знаю, как исправить ошибку:
error[E0277]: the `?` operator can only be applied to values that implement `std::ops::Try`
--> src\main.rs:19:15
|
19 | let res = reqwest::Client::new()
| _______________^
20 | | .get("https://api.github.com/users/octocat")
21 | | .send()?
| |________________^ the `?` operator cannot be applied to type `impl std::future::Future`
|
= help: the trait `std::ops::Try` is not implemented for `impl std::future::Future`
= note: required by `std::ops::Try::into_result`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0277`.
error: could not compile `Desktop`.
но я также могу получить то, что хочу, с помощью простого
curl https://api.github.com/users/octocat
Пытался добавить use std::ops::Try;
, но лучше не работает.
.send
в этой версии reqwest является асинхронным. Он возвращает будущее, которое необходимо выполнить до завершения. См. Рабочий пример в документации по reqwest. - person E_net4 the curator   schedule 03.11.2020