Here's my example code:
function recursiveFetch(num) {
    // EXAMPLE that recursivley fetches all todos from example API
    return new Promise(resolve => {
        fetch("https://jsonplaceholder.typicode.com/todos/" + num)
            .then((response) => {
                return response.json();
            })
            .then((data) => {
                if (num == 0) {
                    console.log("Done getting TODOs");
                    resolve(num);
                } else {
                    recursiveFetch(num - 1);
                }
            });
    });
}
new Promise(resolve => {
        // Just using this for this example
        resolve(10);
    })
    .then((num) => {
        // This runs fine and returns a promise which is eventually resolved
        return recursiveFetch(num);
    })
    .then((num) => {
        // This never happens?
        console.log("num is now " + num);
    })
I can't tell why but the second .then is never run.
If I execute this code in the Firefox console I get the output Done getting TODOs but the "num is now " log is never called?
 
     
     
    