Skip to content

Commit

Permalink
Ahora se manejan errores cuando el servicio de preguntas está cargand…
Browse files Browse the repository at this point in the history
…o y se intenta jugar
  • Loading branch information
CANCI0 committed Mar 7, 2024
1 parent c45c010 commit 5541f4d
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 9 deletions.
9 changes: 9 additions & 0 deletions questionservice/question-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const GeneratorChooser = require("./questionGen/GeneratorChooser");

const app = express();
const port = 8003;
let generadoresCargados = false;

const gen = new GeneratorChooser();
const MAX_QUESTIONS = 10000;
Expand All @@ -16,6 +17,13 @@ app.use(bodyParser.json());

app.use(cors());

app.use((req, res, next) => {
if (!generadoresCargados) {
return res.status(500).json({ error: "Los generadores de preguntas aún no se han cargado. Por favor, inténtalo de nuevo más tarde." });
}
next();
});

app.set("json spaces", 40);

app.get("/questions", async (req, res) => {
Expand All @@ -39,6 +47,7 @@ const server = app.listen(port, async () => {
gen.loadGenerators()
.then(() => {
console.log("Generators loaded successfully!");
generadoresCargados = true;
})
.catch((error) => {
console.error("Error al cargar los generadores de preguntas:", error);
Expand Down
17 changes: 10 additions & 7 deletions webapp/src/pages/Bateria/Bateria.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import React, { useState, useEffect } from "react";
import "./Bateria.css";
import Nav from "../../components/Nav/Nav.js";
import Footer from "../../components/Footer/Footer.js";
import Preguntas from "./prueba";
import { Link, useNavigate } from "react-router-dom";

const JuegoPreguntas = () => {
Expand All @@ -17,24 +16,28 @@ const JuegoPreguntas = () => {

useEffect(() => {
fetch("http://localhost:8003/questions?tematica=all&n=10000")
.then((response) => response.json())
.then((response) => {
if (!response.ok) {
navigate("/home");
}
response.json();
})
.then((data) => {
setPreguntas(data);
setPreguntaActual(data[0]);
setIsLoading(false);
})
.catch((error) => {
console.error("Error al obtener las preguntas:", error);
alert("Hubo un error al cargar las preguntas");
navigate("/home");
});
}, []);

useEffect(() => {
if(isLoading){
return
if (isLoading) {
return;
}
if (tiempoRestante === 0 || indicePregunta === Preguntas.length) {
if (tiempoRestante === 0 || indicePregunta === preguntas.length) {
setJuegoTerminado(true);
}
const timer = setInterval(() => {
Expand All @@ -47,7 +50,7 @@ const JuegoPreguntas = () => {
if (respuesta === preguntaActual.correcta) {
setPuntuacion(puntuacion + 1);
}
if (indicePregunta + 1 < Preguntas.length) {
if (indicePregunta + 1 < preguntas.length) {
setIndicePregunta(indicePregunta + 1);
} else {
setJuegoTerminado(true);
Expand Down
8 changes: 6 additions & 2 deletions webapp/src/pages/Clasico/Clasico.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,19 @@ const JuegoPreguntas = () => {

useEffect(() => {
fetch("http://localhost:8003/questions?tematica=all&n=10")
.then((response) => response.json())
.then((response) => {
if (!response.ok) {
navigate("/home");
}
response.json();
})
.then((data) => {
setPreguntas(data);
setPreguntaActual(data[0]);
setIsLoading(false);
})
.catch((error) => {
console.error("Error al obtener las preguntas:", error);
alert("Hubo un error al cargar las preguntas");
navigate("/home");
});
}, []);
Expand Down

0 comments on commit 5541f4d

Please sign in to comment.