how to use Promise with express in node.js?
Try the following, and after please read the following document https://www.promisejs.org/ to understand how the promises work.
var Promise = require('promise');router.post('/Registration',function(req,res,next) { function username() { console.log("agyaaa"); return new Promise(function(resolve,reject) { User.findOne({"username":req.body.username}, function(err,user) { if (err) { reject(err) } else { console.log("yaha b agyaaa"); var errorsArr = []; errorsArr.push({"msg":"Username already been taken."}); resolve(errorsArr); } }); }); } username().then(function(data) { console.log(data); next(); });});
You can have other errors also (or things that shouldn't be done that way). I'm only showing you the basic use of a Promise.
router.post('/Registration', function(req, res) { return User .findOne({ username: req.body.username }) .then((user) => { if (user) { return console.log({ msg:"Username already been taken" }); } return console.log({ msg: "Username available." }); }) .catch((err)=>{ return console.error(err); });});
you can write a clean code like this.Promise is a global variable available you don't need to require it.