
Daniela Stornelli
PreguntaUncaught (in promise) TypeError: Failed to execute ‘json’ on ‘Response’: body stream already read ???

Daniela Stornelli
Lo resolví!

Daniela Stornelli
Gracias! aca dejo mi codigo. No encontré una respuesta que resolviera mi problema usando async y await, y realmente no se como resolverlo…
`const API_URL_RANDOM = ‘https://api.thecatapi.com/v1/images/search?limit=4’; const API_URL_FAVORITES= ‘https://api.thecatapi.com/v1/favourites’; const API_REST = ‘api_key=live_LpjOdxs7nGuvpihAAaFFdie51sTU8WhFCUwJCa4vuvw7KZv6flSpL2Rt0zUhSQTr’; const spanError = document.getElementById(‘error’);
const btbRecargar = document.querySelector("#recargar");
async function loadRandomMichis() { const res = await fetch(API_URL_RANDOM); //await porque es un llamado asincrono. const data = await res.json();
if (res.status !== 200) { spanError.innerHTML = "Hubo un error: " + res.status; } else { const img1 = document.querySelector('#img1'); const img2 = document.querySelector('#img2'); const img3 = document.querySelector('#img3'); const img4 = document.querySelector('#img4'); img1.src = data[0].url; //La url de la imagen. img2.src = data[1].url; img3.src = data[2].url; img4.src = data[3].url; console.log('Random'); console.log(data); }
}
//función para cargar imagen favorita async function loadFavouritesMichis() { const res = await fetch(API_URL_FAVORITES);
if (res.status !== 200) { const error = await res.text() spanError.innerHTML="hubo un error: " + res.status } const data = await res.json(); console.log('Favoritos'); console.log(data);
} async function saveFavouriteMichis() { const res = await fetch(API_URL_FAVORITES, { method: ‘POST’, headers: { ‘Content-Type’: ‘application/json’, }, body: JSON.stringify({ image_id: ‘264’ }), }); const data = await res.json();
console.log('Save') console.log(res)
if (res.status !== 200) { const error = await res.text() spanError.innerHTML="hubo un error: " + res.status + data.message; } }
loadRandomMichis(); loadFavouritesMichis(); btbRecargar.addEventListener(‘click’, loadRandomMichis);`

Juan Castro
Dani, este error suele aparecer cuando se llama más de una vez al método .json para el parseo de la respuesta HTTP desde fetch: https://stackoverflow.com/questions/53511974/javascript-fetch-failed-to-execute-json-on-response-body-stream-is-locked
Si quieres, compártenos por fa tu código para ayudarte a intentarlo resolver. :D