I have a main in nodejs for my program where I need to use my result calculated in a module, but my I don't have the right result.
var myJSONClient = {
    "nombre" : "<nombre_cliente>",
    "intervalo" : [0,0]
    };
var intervalo = gestionar.gestion(myJSONClient,vector_intervalo); 
console.log("intervalo: "+intervalo); //return undefined
And this is the module
var gestion = function(myJSON,vector_intervalo) { 
var dburl = 'localhost/mongoapp';
var collection = ['clientes'];
var db = require('mongojs').connect(dburl, collection );
var intervalo_final;
    function cliente(nombre, intervalo){
        this.nombre = nombre;
        this.intervalo = intervalo; 
    }
    var cliente1 = new cliente(myJSON.nombre,myJSON.intervalo);
    db.clientes.save(cliente1, function(err, saveCliente){
    if (err || !saveCliente) console.log("Client "+cliente1.nombre+" not saved Error: "+err);
    else {
        console.log("Client "+saveCliente.nombre+" saved");
        intervalo_final = calculate(vector_intervalo);
        console.log(intervalo_final); //here I can see the right content of the variable intervalo_final
       }
    });
    setTimeout(function(){
        console.log("pause");
    },3000);
    console.log(intervalo_final); //result not correct
 return intervalo_final;
}
exports.gestion = gestion;
I know that node execute my return without wait the end of my function, for this I can't see the right result, but how can I force my program to wait the end of my function? I tried with the setTimeout function but wasn't the right way.
 
     
    