Daniela Stornelli
studentPreguntaUncaught (in promise) TypeError: Failed to execute ‘json’ on ‘Response’: body stream already read ???
Juan Castro
teacherDani, 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
Daniela Stornelli
studentGracias! 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);`
Daniela Stornelli
studentLo resolví!
