Arreglado error con el gestor de tareas en srv/Admin/LinkAnimes/obtenerLinks

master
Fernando 2018-12-17 09:35:07 -05:00
parent 5020fe7eea
commit ee24f0678f
1 changed files with 7 additions and 16 deletions

View File

@ -3,7 +3,6 @@ class GestorDeTareas {
alCompletar: (() => void);
constructor(alCompletar: (() => void)) {
console.log("Lo cree :c");
this.alCompletar = alCompletar;
}
@ -11,18 +10,14 @@ class GestorDeTareas {
return (this.tareas.push(false) - 1);
}
terminarTarea(num: number) {
this.tareas[num] = true;
terminarTarea() {
this.tareas.pop();
this.verificarTareas();
}
verificarTareas() {
this.tareas.forEach((x: boolean) => {
if (!x)
return;
});
this.alCompletar();
if (this.tareas.length === 0)
this.alCompletar();
}
}
@ -95,8 +90,6 @@ const obtenerLinks = (req: any, res: any) => {
const gestorOpciones = new GestorDeTareas(() => {
/* TODO: Error. Parece que las tareas se añaden luego de que se terminan. Rediseño pls :c */
/* Este error ocasiona que solo se cargue la primera variante, y que el resto de variante se devuelva vacia. */
res.send(YAML.stringify(data));
});
@ -108,7 +101,7 @@ const obtenerLinks = (req: any, res: any) => {
for (const opcionID in response) {
const opcion = response[opcionID];
const tareaActualOpcion = gestorOpciones.agregarTarea();
gestorOpciones.agregarTarea();
data.opciones[opcion.num_opcion] = {
formato: opcion.formato,
@ -127,17 +120,15 @@ const obtenerLinks = (req: any, res: any) => {
for (const epID in response) {
const ep = response[epID];
const eps: LinksEps = {
data.opciones[opcion.num_opcion].eps[ep.num_ep] = {
ep_ID: ep.ep_ID,
visitas: ep.visitas,
peso: ep.peso,
link: ep.link
};
data.opciones[opcion.num_opcion].eps[ep.num_ep] = eps;
}
gestorOpciones.terminarTarea(tareaActualOpcion);
gestorOpciones.terminarTarea();
} else if (!err) {
console.log("No existen episodios para esta variante");