I have a series of promises where if any of them throw an error it bubbles up to the top promise - kind of like global error catching.
Here's a simplified version of how I've got things setup:
function bar() {
    return new Promise(function(resolve,reject) {
        var err = new Error('This is an error');
        err.name = 'Permission';
        return reject(null,err);
    });
}
function foo() {
    return new Promise(function(resolve,reject) {
        bar()
            .then(function(results) {
                return resolve(results);
            })
            .then(null,function(error) {
                console.log('Error caught'); //This shows
                console.log(error); //outputs null
                return reject(error);
            });
    });
}
foo()
    .then(function(results) {
        console.log(results);
    })
    .then(null,function(error) {
        //this never gets reached
    });
For some reason although the error function runs the value of 'error' is null. Any ideas on what would cause this?
Thanks!
 
    