lo que quiero:
1 - datos de solicitud del cliente
2 - server.js solicita datos a dbcontroller.js
3 - dbcontroller.js solicita datos a db
4 - db devuelve datos al controlador db
5 - dbcontroller devuelve los datos a server.js
6 - server.js responde con datos al cliente
(fila dbcontroller.js: 4) en el punto 4 tengo cada uno, por lo que los datos regresan como paquetes
creo que tengo que ensamblarlos antes del punto 5, pero luego tengo el problema de que la función regresa incluso antes de que se recopile el primer conjunto de datos
Intenté esperar pero el ide dice que esperar no tiene un efecto como este: "esperar db.each ()"
creo que sería bueno si pudiera obtener cada fila en un paquete de la base de datos, pero solo tengo la esperanza de ser un principiante
código server.js
router.get("/", function(req,res){ //on localhost:[port] var testData = dbcontroller.accessData(); console.log("-------------------") //start log console.log(testData) //debugging purposes console.log("___________________") //end log res.send(testData) //send the data to the client })código dbcontroller.js
//Problem: testData returns only "testData" because db.each takes too long/ return does not wait for db.each to finish | await seems not helpful function accessData(){ var testData = "testData"; //wanted to save it here db.each("SELECT * FROM student", function(err, row) { if(err) return console.log(err.message); console.log(row.id + ": " + row.name); testData += " /n" + row.id + ": " + row.name; //the dataset gets addet do the string }) return testData; }