I got the following code :
router.get('/about', async (req, res) => {
console.log("JE SUIS DANS ABOUT");
let learn,
mission, inMission,
vision, inVision,
values, inValues,
ethics, ethics1,
ethics2, ethics3,
ethics4,ethics5,
ethics6, ethics7,
ethics8, data1;
if(req.cookies.lang === 'EN' || req.cookies.lang === undefined){
fs.readFile('./xml/lang/en.xml', function(err, data){
parser.parseStringPromise(data)
.then(async function(res){
let path = res.langText.aboutUs[0];
learn = path.learn;
mission = path.mission;
inMission = path.inMission;
vision = path.vision;
inVision = path.inVision;
values = path.values;
inValues = path.inValues;
ethics = path.ethics;
ethics1 = path.ethics1;
ethics2 = path.ethics2;
ethics3 = path.ethics3;
ethics4 = path.ethics4;
ethics5 = path.ethics5;
ethics6 = path.ethics6;
ethics7 = path.ethics7;
ethics8 = path.ethics8;
//console.log(path)
console.log(learn) //--> it works
console.log(mission) //--> it works
})
.catch(function(err){
console.error(err)
})
})
}else if(req.cookies.lang === 'FR'){
fs.readFile('./xml/lang/fr.xml', function(err, data){
parser.parseStringPromise(data)
.then(function(res){
let path = res.langText.aboutUs[0];
learn = path.learn;
mission = path.mission;
inMission = path.inMission;
vision = path.vision;
inVision = path.inVision;
values = path.values;
inValues = path.inValues;
ethics = path.ethics;
ethics1 = path.ethics1;
ethics2 = path.ethics2;
ethics3 = path.ethics3;
ethics4 = path.ethics4;
ethics5 = path.ethics5;
ethics6 = path.ethics6;
ethics7 = path.ethics7;
ethics8 = path.ethics8;
console.log(learn) //--> it works
console.log(mission) //--> it works
})
.catch(function(err){
console.error(err)
})
})
}else if(req.cookies.lang === 'ES'){
fs.readFile('./xml/lang/es.xml', function(err, data){
parser.parseStringPromise(data)
.then(function(res){
let path = res.langText.aboutUs[0];
learn = path.learn;
mission = path.mission;
inMission = path.inMission;
vision = path.vision;
inVision = path.inVision;
values = path.values;
inValues = path.inValues;
ethics = path.ethics;
ethics1 = path.ethics1;
ethics2 = path.ethics2;
ethics3 = path.ethics3;
ethics4 = path.ethics4;
ethics5 = path.ethics5;
ethics6 = path.ethics6;
ethics7 = path.ethics7;
ethics8 = path.ethics8;
console.log(learn) //--> it works
console.log(mission) //--> it works
})
.catch(function(err){
console.error(err)
})
})
}
console.log(learn) //--> undefined
console.log(mission) //--> undefined
await res.render('about', {title:"about Us",
text1 : learn,
text2 : mission,
text3 : inMission,
text4 : vision,
text5 : inVision,
text6 : values,
text7 : inValues,
text8 : ethics,
text9 : ethics1,
text10 : ethics2,
text11 : ethics3,
text12 : ethics4,
text13 : ethics5,
text14 : ethics6,
text15 : ethics7,
text16 : ethics8})
})
I declare some variables at the begining of the method... My question is : How can I get access to the data inside the function : "parse.parseStringPromise(data)" If i do a console..log inside that method, it will show me but outside, it says that my variables that I define at the beggining of the methode are undefined, but I'm doing this :
let path = res.langText.aboutUs[0];
learn = path.learn;
mission = path.mission;
inMission = path.inMission;
... Someone know how can I solve this?