JSON okuma
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
-
Gövdeyi metin olarak oku
const body = await response.____();Cevabı göster
const body = await response.text(); -
Metodları anlamlarıyla eşleştir
- fetch(url)
- İsteği gönderir
- response.text()
- Gövdeyi metin olarak okur
- response.status
- Durum kodunu verir
-
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.