Consider the following situation :
// The caller
const returnValueEWGP = await generator.GenerateEightWeeks(
packageId
);
// The callee
GenerateEightWeeks = async packageId => {
let weekPromises = [];
// A lot of code , eventually we have array of promises "weekPromises" with data
await Promise.all(weekPromises)
.then(success => {
const numberOfZeros = success.filter(x => {
return x == 0;
}).length;
const numberOfOnes = success.filter(x => {
return x == 1;
}).length;
console.log(
`Before going back to Leads : Zeros : ${numberOfZeros} , Ones : ${numberOfOnes}`
);
return {
zeros: numberOfZeros,
ones: numberOfOnes
};
})
.catch(failed => {
return {
zeros: 1,
ones: 0
};
});
}
The problem is that returnValueEWGP
is always undefined.
How can I get the data back to the invoking code ?