0

I want to call other function and how to get the results of that function,

function1,

  exports.getprofiledatalistbyid = function (req, res) {
  var params = req.params;
  var profile= db.collection('profile');
  var requests= db.collection('requests');
  profile.find().toArray((err, result) => {
   if (err){ return console.log(err)
    }
      if(result){
                  //  console.log(result)
                   for(var i in result){
                     var id = result[i]._id;
                     var id = id.toString();
                   exports.getdetails(id)
                   }
                 }
        else{
            response = {status:'fail',data:[] };
        }
      // res.send(response);

  });
};

function2,

exports.getdetails = function (req,res) {
  // var profile= db.collection('profile');
  var requests= db.collection('requests');
  var params = req.params;
  var id = params.id;
  requests.find( { $or:[ {'sent_id':id}, {'recieved_id':id}]}).toArray((err, result) => {
   if (err){ return console.log(err)
    }
      if(result){console.log(result)
           return result;
                 }
        else{
            response = {status:'fail',data:[] };
        }

  });
};

routes,

    var profile = require('../controller/user');
 router.get('/getprofiledatalistbyid/:id?', cors(), profile.getprofiledatalistbyid);

So here I want to use the results of function 2 in function 1.

Can someone helps me?

Thanks.

klp
  • 153
  • 1
  • 3
  • 14

1 Answers1

1

Use module.exports and call your functions by this

      module.exports = {
  getprofiledatalistbyid: function(req, res) {
    var params = req.params;
    var profile = db.collection('profile');
    var requests = db.collection('requests');
    profile.find().toArray((err, result) => {
      if (err) {
        return console.log(err)
      }
      if (result) {
        //  console.log(result)
        for (var i in result) {
          var id = result[i]._id;
          var id = id.toString();
           this.getdetails(req,res,function(err,result){
              if(!err)
            console.log(result);
           }); 
        }
      } else {
        response = {
          status: 'fail',
          data: []
        };
      }
      // res.send(response);

    });
  },

  getdetails: function(req, res,callback) {
    // var profile= db.collection('profile');
    var requests = db.collection('requests');
    var params = req.params;
    var id = params.id;
    requests.find({
      $or: [{
        'sent_id': id
      }, {
        'recieved_id': id
      }]
    }).toArray((err, result) => {
      if (err) {
        return callback(err)
      }
      if (result) {
        console.log(result)
        return callback(null,result);
      } else {
        callback(null, {
          status: 'fail',
          data: []
        });
      }

    });
  }
};
abdulbarik
  • 6,101
  • 5
  • 38
  • 59