delay between my function and the redirection to a route

I'm working on a page in nodeJs with express which return me a table. I have an error about my variable "allMusique" containing my data on my page when I try to access it but after I reload once, the page shows up correctly with my data. Does someone see what is wrong please?

Here is my code:

var express = require('express');
var router = express.Router();
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
var allMusique;
var idMaxMusique;

router.get(‘/’, function(req, res, next) {
function getAllMusique(){
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(“projet_node”);
dbo.collection(“musiques”).find({}).toArray(function(err, result) {
if (err) throw err;
allMusique = result;
var size = allMusique.length-1;
idMaxMusique = parseInt(result[size].id)+1;
});
});
}

getAllMusique();
res.render('musiques', { resultat: allMusique, idMax: idMaxMusique });

});

module.exports = router;


#javascript #node-js #express

4 Likes1.35 GEEK