Tuesday, 25 April 2017

How to respect execution order in NodeJS application with mongoose

please help me understand how can I solve this.

this is my routes file (auth-routes.js)

const userControllers = require('../controllers/user')
module.exports = function(app){
  app.post('/auth/recuperarpassword', function(req, res){
    var info = userControllers.recuperarPassword(req, res)
    console.log('---------------->there is in routes file-->' + info);
    res.status(500).send(info)
  })
}

and this is my controller file (user.js)

    'use strict'
const User = require('../models/user')
const bcrypt = require('bcrypt-nodejs')
var momenttz = require('moment-timezone');
var mongoose = require('mongoose')
function recuperarPassword(req,res){
  var username = req.body.username.toLowerCase().trim();
  console.log('----username:---->' + username + '<---------------');
  var info;
    User.findOne({username: username}, function(err,user){
      console.log('Dentro del findOne');
      if (err) {
        console.log('--->Error - Error al buscar username en BD')
        return err
      }
      console.log('------>user:-->'+ user);
    })
  console.log('Salio del FinOne');
  info = {descerror: 'Elcomercio '}
  return info
}
module.exports = {
  recuperarPassword
}

and in the console results are printed like this:

----username:---->cesar4@mail.com<---------------
Salio del FinOne
---------------->Ya esta en routes-->[object Object]
POST /auth/recuperarpassword 500 42.647 ms - 27
Dentro del findOne
------>user:-->{ _id: 58fe681cb615c91f9d71adfb,
  username: 'cesar4@mail.com',
  password: 'hash',
  __v: 0 }

instead of printing in the correct order, something similar like this:

----username:---->cesar4@mail.com<---------------
Dentro del findOne
------>user:-->{ _id: 58fe681cb615c91f9d71adfb,
  username: 'cesar4@mail.com',
  password: 'hash',
  __v: 0 }
Salio del FinOne
---------------->Ya esta en routes-->[object Object]
POST /auth/recuperarpassword 500 42.647 ms - 27

Thanks!



via Cesar Rodriguez T

No comments:

Post a Comment