function print(){ console.log("hello"); } Fruit.find(function(err,fruits){ mongoose.connection.close(); if(err){ console.log(err); }else{ // console.log(fruits); fruits.forEach(function(fruit){ console.log(fruit.name); }) } })Solo un fondo: el modelo de frutas tiene una variedad de objetos (frutas) y cada fruta tiene un nombre con el código de arriba. Estoy mostrando solo su nombre.
Estoy confundido acerca de cómo estamos cerrando la conexión de mongoose incluso antes de registrar el texto, también leí en un artículo que es una función de devolución de llamada, por lo que se ejecuta después de la finalización después de la ejecución de todos los pasos, por lo que otra pregunta es cómo sé si es una devolución de llamada o una función normal. también si tuviera otra función de impresión para devolver la llamada (para el bucle), ¿cómo lo hago, es decir, imprimo Hola después de registrar todos los nombres de las frutas pero escribiendo antes de la declaración de registro del nombre de las frutas?
Estoy confundido acerca de cómo estamos cerrando la conexión de mangosta incluso antes de registrar el texto
La función de devolución de llamada se llama cuando los datos se han leído desde la conexión de mangosta.
Los datos se pasan al argumento de las fruits .
No necesita que la conexión esté abierta después de que los datos ya estén en una variable local.
cómo sé si es una devolución de llamada o una función normal
Las funciones de devolución de llamada son funciones normales. Así es como se usan. Ver MDN :
Una función de devolución de llamada es una función que se pasa a otra función como argumento, que luego se invoca dentro de la función externa para completar algún tipo de rutina o acción.