問題タブ [fetch-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Request.text() (および Body から実装された他の関数) は実際に何をしますか?
その MDN 記述に基づいて、 のようなRequest
機能が実装されています。ただし、これらの関数が実際に何をするのかはわかりません。彼らは何もしていないようです。Body
text()
私はこのようなコードを持っています
何が起こるかというと、Promise は空の文字列ですぐに解決され、リクエストは発生しません。開発ツール (またはwireshark) でネットワーク アクティビティを見ると、実際のリクエストは発生しません。しかし、エラーもありません。
何が起こっている?Body
APIの目的は何ですか?
MDN の説明では「応答ストリーム」について説明していますが、応答はありません (実際の取得がまだ行われていないため)。(編集:私は自分の質問に答えたので、MDNページも編集したので、今では意味があります。)
仕様には次のように記載されています。
Request オブジェクトのボディ消費アルゴリズムは、指定されたタイプで、次の手順を実行します。
この Request オブジェクトが妨害された場合、TypeError で拒否された新しい promise を返します。
妨害フラグを設定します。
p を新しい約束とする。
次のサブステップを並行して実行します。
bytes を空のバイト シーケンスとします。
リクエストのボディが null でない場合、ストリームの終わりを返すまで、バイトをリクエストのボディから読み取った結果に設定します。
バイト、タイプ、および MIME タイプでパッケージ データ アルゴリズムを実行した結果で p を解決します。それが例外をスローした場合、その例外で p を拒否します。
pを返します。
私はそれからあまり頭が良くありません。
(注: 私が求めているのは非常に詳細な質問であることはわかっています。/ / が一般的に何をするかについて尋ねているfetch
わけResponse
ではありませんRequest
。)
javascript - ネイティブ fetch api をオーバーライドして、ネイティブ ブラウザーの Promise の代わりに目的の Promise ライブラリを使用することは可能ですか?
これが私の言いたいことです。
ブラウザーがフェッチ APIをネイティブにサポートしている場合(Chrome など)、ネイティブのブラウザーが使用されPromise
ます。
別の Promise ライブラリ (たとえば、bluebirdfetch
など) を使用しても、ネイティブはまだそれを使用していませんPromise
。代わりにネイティブ実装を使用しています。
それをオーバーライドする方法はありますか?
問題の例:
なぜそれが必要なのですか?ライブラリがサポートし、ネイティブの Promise にはないグローバルな拒否イベントを利用したいと考えています。bluebird
firefox - Firefox 44.0.2 の FetchEvent でクライアントが見つからない
このコードを使用してクライアントを取得しています。しかし、それでもクライアントが一致しません。
}
xmlhttprequest - 新しい Fetch API を使用して JSON のクロス ドメイン リクエストを作成する
フェッチで CORS の問題が発生し、Google を使い果たしました。以下のコードペンでは、flickr のオープン API をヒットしていくつかの画像を取得しようとしています。2 つのボタンが表示されます。$.getJSON を使用すると、「jquery で検索」が正常に機能します。
もちろん、Fetch を使用したいと思います。「フェッチで検索」が機能しません。同じリクエストを送信しようとすると、次のエラーが発生します。
を追加するmode: 'no-cors'
と、返されるのopaque
はデータを含まない応答だけです。
自分で試してみてください!http://codepen.io/morgs32/pen/OMGEpm?editors=0110
手が大好きです。ありがとう。
javascript - Promise は OPTIONS リクエストを拒否していますか? どの反応ライフサイクルメソッドでこの操作を実行する必要がありますか
上記は私のコードです [Promise] OPTIONS リクエストの呼び出し後に拒否されます。GET リクエストが必要なだけで、OPTIONS リクエストをバイパスしたい。
javascript - 反応ネイティブで画像をロードするときに応答ヘッダーを取得するには?
同じ URL が別の画像 (ランダム) を返し、応答のヘッダーを取得する必要があるため (これも毎回異なります)、2 回取得することはできません。
を使用しようとしましたが、次のようなコードでblob
あるという警告が表示されます。'blob' is undefined
では、画像をロードするときにヘッダーを取得するにはどうすればよいですか?
javascript - fetch API で DELETE リクエストを送信できない
たとえば、端末からhttpieを使用して、特定のエンドポイントに削除リクエストを送信すると
http delete http://localhost:8181/admin/applications/uspecs
{ success: true }
応答本文のように、有効な動作が得られます。しかし、私がするとき
JavaScriptコードでは、次に取得します
コンソールのエラー。私は何が欠けていますか?オプション リクエストで有効なメソッド リストを取得しています。
javascript - フェッチ API と XMLHttpRequest
Fetch API はPromise
s を使用し、どちらもサーバーに対して AJAX リクエストを実行できることを知っています。
XMLHttpRequest
Fetch API には(および に基づいているため、Fetch API ポリフィルでは)では利用できない追加機能がいくつかあることを読みましたXHR
。
Fetch API にはどのような追加機能がありますか?