/*
I want this code to return the array of students that is generated by going through the SELECT statement.
Due to db.each going off on its own thread, the `students` array it populates is in a different scope
to the one I declare which is returned empty before the db.each finishes.
How do I get the `return` to return the data?
*/
searchStudents: ({term}) => {
var lessons = ['maths', 'English'];
var students = [];
console.log (students);
db.each(`SELECT * FROM students`, (err, row) => {
if (err) {
console.error(err.message);
} else {
student = new Student (row.id, row.name, lessons, row.password, row.attendence);
students.push (student);
console.log(row.id + "\t" + row.name + "\t" + row.password);
}
});
console.log (students);
return students;
}
Comments