首頁 > web前端 > js教程 > 為什麼 `response.json()` 在 Fetch 中傳回 Promise,如何存取結果?

為什麼 `response.json()` 在 Fetch 中傳回 Promise,如何存取結果?

DDD
發布: 2024-12-15 17:24:13
原創
926 人瀏覽過

Why Does `response.json()` Return a Promise in Fetch, and How Can I Access the Result?

深入了解 Fetch 反應處理中的 Promise 和 Promise 鏈

在試驗 fetch() API時,出現了關於行為的有趣觀察的.json().

觀察:

當在傳遞給.then() 的對象文字中返回response. json() 時,將會得到一個Promise 物件。但是,當直接從 .then() 處理程序傳回時,它會傳回實際值。

說明:

  • 為什麼response.json回傳一個promise?

呼叫response.json會檢索另一個promise HTTP 回應正文,尚未載入。這是因為您在收到標頭後立即收到了回應對象,但正文尚未可用。

  • 為什麼從 .then() 傳回的 Promise 會提供值?

這是承諾的一個基本面向。 Promise 允許從回呼函數傳回 Promise 並隨後採用,因此無需巢狀即可實現可連結性。

替代方法:

等待JSON 後訪問回應狀態body,你可以採用不同的方法:

  • 使用嵌套返回中間結果.then()鏈:

  • 利用異步函數並等待:

注意:

始終建議先驗證回應狀態存取回應內容,因為它可能不會總是包含JSON 資料。

以上是為什麼 `response.json()` 在 Fetch 中傳回 Promise,如何存取結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板