Tengo una función para cargar un archivo JSON que contiene información que se ve así:
async function loadJsonFile() { try{ const jsonResponse = await fetch("/config/jsonfile.json", { headers: { "Content-Type": "application/json", Accept: "application/json", }, }); return await jsonResponse.json() } catch(e){ console.log(e.message); return e.message; } } Sin embargo, al depurar mi código, se loadJsonFile . Luego golpea la línea de código con la await fetch y luego sale de la función sin completar nada más después. Me preguntaba si alguien podría ayudar.
export const getInit = () => { return async (dispatch) => { const json = await loadJsonFile(); // more code that needs to be completed below... } }ACTUALIZAR 1
Me llamó la atención que tenía un error tipográfico en mi declaración de captura. Desde entonces lo arreglé y sigo experimentando el mismo problema.
¿Qué piensas de hacerlo con una sintaxis diferente como:
function loadJsonFile() { return fetch('/config/jsonfile.json', { headers: { 'Content-Type': 'application/json', Accept: 'application/json', }, }) .then(response => response.json()) .catch(error => { console.log(error.message); return error.message; }); }Creo que deberías intentar eliminar el segundo await .
Tal vez se deba a su bloque catch, obtiene err como variable de error pero ha usado console.log(e.message); return e.message; y dado que e no está undefined , se produce un error no controlado. Puedes cambiarlo así:
... catch(err){ console.log(err.message); return err.message; } ...