Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
Cómo expandir de manera sensata y eficiente una función sin repeticiones interminables

Estoy tratando de expandir esta función para cubrir a todos nuestros diez empleados, pero me doy cuenta de que lo estoy haciendo estúpidamente. Curiosamente (¡para mí!), el código me permite copiar y pegar consultas adicionales solo una vez, es decir, para Dave, pero si vuelvo a copiar el bloque de código, aparece "TypeError: Cannot set property 'lazy_count' of undefined". Simplemente me faltan las habilidades de programación para manejar esto correctamente con consultas mínimas de db. Cualquier ayuda muy apreciada.

 var clockedIn = false; db.query('SELECT FIRST 1 * FROM ATTENDEVENTS WHERE OPID = 6 ORDER BY DATETIME DESC', function(err, ci_row) { if (err) throw err; if (ci_row.length === 1 && ci_row[0].EVENTTYPE === 0) clockedIn = true; if (!clockedIn) { db.query('SELECT opid, name FROM OPS WHERE OPID = 6', function(err, rows) { if (rows.length === 0) { console.log('error 1') } db.query('SELECT FIRST 1 OPID FROM ATTENDEVENTS WHERE OPID = 6 ORDER BY DATETIME DESC', function(err, rows) { if (err) throw err; if (rows.length === 1 && rows[0].EVENTTYPE == 0) { console.log('error 2') } else { db.query('SELECT FIRST 1 ATTENDEVENTID FROM ATTENDEVENTS ORDER BY DATETIME DESC', function(err, rows) { lastID = 0; if (rows.length === 1) { lastID = rows[0].ATTENDEVENTID; } console.log('George is not clocked in') }); } }); }); } if (clockedIn) { console.log('George is clocked in') } }) var bclockedIn = false; db.query('SELECT FIRST 1 * FROM ATTENDEVENTS WHERE OPID = 3 ORDER BY DATETIME DESC', function(err, dave_row) { if (err) throw err; if (dave_row.length === 1 && dave_row[0].EVENTTYPE === 0) bclockedIn = true; if (!bclockedIn) { db.query('SELECT opid, name FROM OPS WHERE OPID = 3', function(err, daverows) { if (daverows.length === 0) { console.log('error 1') } db.query('SELECT FIRST 1 OPID FROM ATTENDEVENTS WHERE OPID = 3 ORDER BY DATETIME DESC', function(err, daverows) { if (err) throw err; if (daverows.length === 1 && daverows[0].EVENTTYPE == 0) { console.log('error 2') } else { db.query('SELECT FIRST 1 ATTENDEVENTID FROM ATTENDEVENTS ORDER BY DATETIME DESC', function(err, daverows) { lastID = 0; if (daverows.length === 1) { lastID = daverows[0].ATTENDEVENTID; } console.log('Dave is not clocked in') }); } }); }); } if (bclockedIn) { console.log('Dave is clocked in') } })
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda