I'm trying to assign a value to the variable myleadId depending on leadId.length.
The goal is that myleadId will have a value after this step to continue with the next step. The problem is that myleadId is undefined when leadId.length <= 0 (else condition).
app.post('/sendMessage2agent', async (req, res) => {
getEnterpriseIDbyContact(req.body.recipient, knex).then((enterpriseId) => {
getLeadIDbyContact(req.body.sender, knex).then((leadId) => {
var myleadId;
if (leadId.length > 0) {
myleadId = leadId; //works great!
} else {
getChannelIdByName(req.body.channel, knex).then((channelId) => {
return createLeadOnEnterprise(req.body.sender, enterpriseId, channelId, knex).then((newleadId) => {
console.log('newleadId: ' + newleadId); //newleadId is 5
myleadId = [{'id': newleadId}]; //doesn't work :(
return;
});
});
}
console.log('myleadId: ' + JSON.stringify(myleadId)); // myleadId is undefined when leadId.length>0 is false. I expect myleadId=[{'id': 5}]
});
res.json(req.body);
});
});