Estoy haciendo una solicitud a question.json, pero no estoy seguro de cómo capturar los datos devueltos por la llamada de respuesta. El archivo JSON es solo un objeto, pero cuando intento llamar a response.names para obtenerlo, ¿me dice que la respuesta no está definida? ¿No lo definí cuando llamé a la función json?
Estoy pensando que tal vez porque es una promesa, ¿no está técnicamente definido? Inseguro.
Aquí está mi código:
fetchQuestions(); function createCategory(category, questions) { const categoryDiv = document.createElement('div'); div.classList.add('category'); const h2 = document.createElement('h2'); h2.textContent = category; categoryDiv.append(h2); questions.forEach(question => { const questionDiv = document.createElement('div'); questionDiv.classList.add('question'); const statusDiv = document.createElement('div'); statusDiv.classList.add(questions.status); questionDiv.append(statusDiv); const h3 = document.createElement('h3'); h3.textContent = question.name; questionDiv.append(h3); categoryDiv.append(questionDiv); }); return categoryDiv; } function fetchQuestions() { const myRequest = new Request('questions.json'); fetch(myRequest) .then(response => response.json()) .then(getQuestionsByCategory(response.names)) .catch(console.error); } function getQuestionsByCategory(questions) { const questionsByCategory = {}; questions.forEach(question => { if (questionsByCategory.hasOwnProperty(question.category)) { questionsByCategory[question.category].push(question); } else { questionsByCategory[question.category] = [question]; } }); return questionsByCategory; }