O manuseio de erro de JavaScript é mais fácil de gerenciar

api().then(function(result) {
    return api2() ;
}).then(function(result2) {
    return api3();
}).then(function(result3) {
    // do work
}).catch(function(error) {
    //handle any error that may occur before this point 
});
SAMER SAEID