getメソッドがreqwestでResponseオブジェクトを返さないのはなぜですか?

ルーカス

reqwestのドキュメントから例を複製しようとしています次に例を示します。

let body = reqwest::get("https://www.rust-lang.org")?
.text()?;

私が追加した後reqwest = "0.10.10"、ファイルCargo.tomlで行を、私は私の中で次のコードを追加しmain.rsたファイル:

extern crate reqwest;

fn main() {
    let body = reqwest::get("https://www.rust-lang.org")?.text()?;
    println!("body = {:?}", body);
}

このコードはコンパイルされず、次のエラーが返されます。

cannot use the `?` operator in a function that returns `()`

私のコードはほとんどipsislitterisのドキュメントコードであるため、この動作には少し驚いています。

これは?Responseオブジェクトでのみ機能すると思うので、getメソッドが返すオブジェクトを確認しました

extern crate reqwest;

fn print_type_of<T>(_: &T) {
    println!("{}", std::any::type_name::<T>())
}

fn main() {
    let body = reqwest::get("https://www.rust-lang.org");
    print_type_of(&body);
}

出力:

core::future::from_generator::GenFuture<reqwest::get<&str>::{{closure}}

つまり、ドキュメントのように、代わりにResponseオブジェクトを取得しないのはなぜですか?

loganfsmyth

ここであなたをつまずかせる2つの別々の問題があります。

リンクしたドキュメントはreqwestバージョン用ですが、バージョン0.9.18をインストールしました0.10.10あなたが見れば用ドキュメント0.10.10、あなたがISを使用するスニペットていることがわかります

let body = reqwest::get("https://www.rust-lang.org")
    .await?
    .text()
    .await?;

println!("body = {:?}", body);

またはあなたの場合、非同期ランタイムを持つことについて言及していないのでblockingドキュメント

let body = reqwest::blocking::get("https://www.rust-lang.org")?
    .text()?;

println!("body = {:?}", body);

これを使おうとすると、それでも得られることに注意してください

?を返す関数で演算子を使用することはできません()

mainように戻り値の型を設定する必要があります

fn main() -> Result<(), reqwest::Error> {

なぜ試すのか!()と?を参照してください。OptionまたはResultを返さない関数で使用するとコンパイルされませんか?詳細については。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

オブジェクトメソッドが値を返さないのはなぜですか?

分類Dev

クラスオブジェクトのクラスメソッドがメタクラスを返さないのはなぜですか?

分類Dev

EntityManagerのgetDelegate()メソッドがHibernateの基になるオブジェクトとしてEntityManagerImplを返さないのはなぜですか?

分類Dev

オブジェクトメソッドを反復処理するときに、for(... in ...)ループがキーを返さないのはなぜですか

分類Dev

HashMapメソッドがnullオブジェクト参照を返すのはなぜですか?

分類Dev

演算子のオーバーロードメソッドで返されたオブジェクトを初期化しないのはなぜですか?

分類Dev

toString()がオブジェクトを必要としないメソッドになるのはなぜですか?

分類Dev

メソッドがオブジェクトメンバーを認識しないのはなぜですか?

分類Dev

このJavaScriptオブジェクトメソッドが「関数ではなく」メソッドを返すのはなぜですか?

分類Dev

CreatedAtActionを使用してWebAPIPOSTメソッドでオブジェクトを返すのはなぜですか?

分類Dev

なぜオブジェクトはdeallocメソッドで割り当て解除されないのですか?

分類Dev

メソッドからオブジェクトの属性を変更できないのはなぜですか

分類Dev

コードがオブジェクトのこのメソッドを呼び出さないのはなぜですか?

分類Dev

ECMAScript 5のオブジェクトにforEachメソッドがないのはなぜですか?

分類Dev

この場合、続編オブジェクトにsetOwnerメソッドがないのはなぜですか?

分類Dev

オブジェクトを返す必要のあるメソッドでintを返すことが機能するのはなぜですか?

分類Dev

オブジェクトを返す必要のあるメソッドでintを返すことが機能するのはなぜですか?

分類Dev

オブジェクトのメソッドで作成されたオブジェクトにアクセスできないのはなぜですか

分類Dev

オブジェクト型の引数を持つメソッドが呼び出されないのはなぜですか

分類Dev

メソッドをオブジェクトとして渡せないのはなぜですか?

分類Dev

静的メソッドがオブジェクト指向の優れたプラクティスと見なされないのはなぜですか?

分類Dev

なぜFakerがDatetimeオブジェクトを返さないのですか?

分類Dev

ジェネリックオブジェクトに非ジェネリック拡張メソッドを追加できないのはなぜですか?

分類Dev

オブジェクトのメソッドでこれの代わりにオブジェクト名が使用されるのはなぜですか?

分類Dev

メソッドがインターフェイスタイプのオブジェクトを返すのはなぜですか?

分類Dev

メソッド型オブジェクトを作成するのはなぜですか、型リストのオブジェクトが必要です

分類Dev

特定のオブジェクトメソッドがデフォルトのメソッドから呼び出せないのはなぜですか?

分類Dev

JavaのupdateObject()メソッドでオブジェクトプロパティが更新されないのはなぜですか?

分類Dev

一部のクラスメソッドが「* this」(自己のオブジェクト参照)を返すのはなぜですか?

Related 関連記事

  1. 1

    オブジェクトメソッドが値を返さないのはなぜですか?

  2. 2

    クラスオブジェクトのクラスメソッドがメタクラスを返さないのはなぜですか?

  3. 3

    EntityManagerのgetDelegate()メソッドがHibernateの基になるオブジェクトとしてEntityManagerImplを返さないのはなぜですか?

  4. 4

    オブジェクトメソッドを反復処理するときに、for(... in ...)ループがキーを返さないのはなぜですか

  5. 5

    HashMapメソッドがnullオブジェクト参照を返すのはなぜですか?

  6. 6

    演算子のオーバーロードメソッドで返されたオブジェクトを初期化しないのはなぜですか?

  7. 7

    toString()がオブジェクトを必要としないメソッドになるのはなぜですか?

  8. 8

    メソッドがオブジェクトメンバーを認識しないのはなぜですか?

  9. 9

    このJavaScriptオブジェクトメソッドが「関数ではなく」メソッドを返すのはなぜですか?

  10. 10

    CreatedAtActionを使用してWebAPIPOSTメソッドでオブジェクトを返すのはなぜですか?

  11. 11

    なぜオブジェクトはdeallocメソッドで割り当て解除されないのですか?

  12. 12

    メソッドからオブジェクトの属性を変更できないのはなぜですか

  13. 13

    コードがオブジェクトのこのメソッドを呼び出さないのはなぜですか?

  14. 14

    ECMAScript 5のオブジェクトにforEachメソッドがないのはなぜですか?

  15. 15

    この場合、続編オブジェクトにsetOwnerメソッドがないのはなぜですか?

  16. 16

    オブジェクトを返す必要のあるメソッドでintを返すことが機能するのはなぜですか?

  17. 17

    オブジェクトを返す必要のあるメソッドでintを返すことが機能するのはなぜですか?

  18. 18

    オブジェクトのメソッドで作成されたオブジェクトにアクセスできないのはなぜですか

  19. 19

    オブジェクト型の引数を持つメソッドが呼び出されないのはなぜですか

  20. 20

    メソッドをオブジェクトとして渡せないのはなぜですか?

  21. 21

    静的メソッドがオブジェクト指向の優れたプラクティスと見なされないのはなぜですか?

  22. 22

    なぜFakerがDatetimeオブジェクトを返さないのですか?

  23. 23

    ジェネリックオブジェクトに非ジェネリック拡張メソッドを追加できないのはなぜですか?

  24. 24

    オブジェクトのメソッドでこれの代わりにオブジェクト名が使用されるのはなぜですか?

  25. 25

    メソッドがインターフェイスタイプのオブジェクトを返すのはなぜですか?

  26. 26

    メソッド型オブジェクトを作成するのはなぜですか、型リストのオブジェクトが必要です

  27. 27

    特定のオブジェクトメソッドがデフォルトのメソッドから呼び出せないのはなぜですか?

  28. 28

    JavaのupdateObject()メソッドでオブジェクトプロパティが更新されないのはなぜですか?

  29. 29

    一部のクラスメソッドが「* this」(自己のオブジェクト参照)を返すのはなぜですか?

ホットタグ

アーカイブ