我想打电话给其他功能,以及如何获得该函数的结果,如何调用一个funtion在另一个函数中的Node.js
功能1,
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);
});
};
功能2,
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:[] };
}
});
};
路线,
var profile = require('../controller/user');
router.get('/getprofiledatalistbyid/:id?', cors(), profile.getprofiledatalistbyid);
所以在这里我想使用函数1中的函数2的结果。
有人可以帮助我吗?
谢谢。
的[我如何返回从一个异步调用的响应?(可能的复制http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-从异步调用) –
@klp你仍然会得到同样的错误? – abdulbarik
abdulbarik,我正在尝试与承诺的方法,希望它会工作 – klp