I'm new to javascript and am having a hard time chaining multiple promise.all() statements. Below is a highly simplified version of my code.
function a(x) {
   return new Promise(function(resolve) { 
       setTimeout(resolve(x*2), 500)
   });
}
function b(x) {
   return new Promise(function(resolve) { 
       setTimeout(resolve(x*3), 400)
   });
}
function c(x) {
    const promises = [a(x),b(x)];
    Promise.all(promises).then(function(y){
        z = y[0] + y[1]
        return new Promise(function(resolve, reject){
            resolve(z);
        });
    }); 
}
function d(x) {
    const promises = [];
    for (let input of x){
        promises.push(c(input))
    }
    Promise.all(promises).then(function(z){
        console.log(z);
    });
}
const data = [1,2,3,4,5];
d(data);I'd like to see this printed:
[5, 10, 15, 20, 25]
But instead I'm seeing this:
[undefined, undefined, undefined, undefined, undefined]
What am I missing?
 
     
    