FindOne() का कॉलबैक अतुल्यकालिक है, यह आपके द्वारा जेड को प्रस्तुत करने के बाद निष्पादित हो जाता है। उपयोगकर्ता चर को नया मान मिलने से पहले निष्पादन "TrackSession" पर कूद जाता है।
आपको कॉलबैक के अंदर var html =... डालना चाहिए।
var user = null;
User.findOne({$and: [{"_id": advisorId}, {"role": "advisor"}]},{firstName:1,lastName:1, '_id':0}, function(err,userData,user) {
user = userData;
TrackSession.find({'advisor_id' : advisorId},fields,function(err, chatHistoryData) {
var jade = require('jade');
var html = jade.renderFile(appRoot+'/views/generatePDFHTML.jade', {'chatHistoryData': chatHistoryData,
'selectedOptions':selectedOptions,
'advisor':user,
'tableHeaders':tableHeaders
});
console.log(html); return false;
});
});