CodeBlanks Logo Icon CodeBlanks

JSON okuma

JavaScript kursu · Orta seviye · Ders 85/134

response.json() ile gelen isteğin gövdesini nasıl okuyacağını öğrenirsin.

Yanıt gövdesi ayrı okunur

Bir fetch çağrısı tamamlandığında Response nesnesi yalnızca durum kodu ve başlıkları taşır. Yanıtın gövdesi ise bir akıştır ve kendi metodlarıyla ayrıca okunur.

const response = await fetch(url);
const body = await response.text();

text() gövdeyi düz metin olarak verir ve kendisi de bir Promise döndürdüğü için önüne await koyarsın. Yanıtın tamamını eline alana kadar gövde okunmaz; bu yüzden önce fetch'i, sonra gövdeyi beklersin.

İki kez await

Bir fetch isteğinde genellikle iki kez await kullanırsın: ilki isteğin tamamlanmasını, ikincisi gövdenin okunmasını bekler.

async function load() {
  const response = await fetch(url);
  const body = await response.text();
  console.log(body);
}

İki adımı ayrı tutmak esneklik verir: önce response.status'a bakıp isteğin başarılı olup olmadığını kontrol edebilir, sonra gövdeyi okuyup işleyebilirsin. Gövde yalnızca bir kez okunabilir; ikinci kez text() çağrısı hata verir.

Uygulama Yanıtı ve gövdeyi oku

url değişkeni bir adresi tutuyor. await fetch(url) ile yanıtı response değişkenine, await response.text() ile gövdeyi body değişkenine al. Sonra body'yi console.log ile yazdır.

Örnek çözümü göster
const response = await fetch(url);
const body = await response.text();
console.log(body);

Kendini test et

  1. Gövdeyi metin olarak oku

    const body = await response.____();
    Cevabı göster
    const body = await response.text();
  2. Metodları anlamlarıyla eşleştir

    fetch(url)
    İsteği gönderir
    response.text()
    Gövdeyi metin olarak okur
    response.status
    Durum kodunu verir
  3. response.text() ne döndürür?

    const body = await response.text();
    • Bir Promise
    • Bir sayı
    • Bir dizi
    • true ya da false
    Cevabı göster

    Bir Promise — Doğru! text() bir Promise döndürür; await ile sonucu beklersin.

Orta seviye bölümündeki tüm dersler