I have a function to generate an available username, but always return undefined. I tried in many ways, in this case is a recursive function, but I'm always getting the same result, can you help me? Thanks
This is the code:
function generateNewUsernameAvailable(userName, number){
  console.log('FUNCTION generateNewUsernameAvailable '+userName+' with number '+number);
  User.countDocuments({ 'userName' : userName+number }, (err, count) => {
    if (err) {
      return `Error: ${err}`;
    }
    if (count == 0) {
      return userName+number;
    }else{
      generateNewUsernameAvailable(userName, number+1);
    }});
}
module.exports.existsUserName = function(req,res){
  let userName = req.body.userName;
  console.log('POST existsUserName '+userName);
  User.countDocuments({ 'userName' : userName }, (err, count) => {
    if (err) {
      return res.status(500).send({message: `Error: ${err}`});
    }
    // Available
    if (count == 0){
      return res.status(200).send();
    } else {
      // Generate and return a new username available
      console.log(generateNewUsernameAvailable('ricardo', 1));
      res.status(400).send({message: 'newUsernameAvailable (Example ricardo1)'});
    }
  })
}
 
    