Is Nesting Promises Bad Practice?

Viewed 810

I know my code has the correct logic, but everywhere I look I'm told not to use nested promises. Is this a use case for nested promises?

The logic is as follows:

  • promise1 fails -> reverse promise1

  • promise1 succeeds -> promise2/promise3 fails -> reverse promise1, promise2, promise 3

  • promise1 succeeds -> promise2 & promise3 succeeds

    let data = null;
    promise1.then((response) => {
        data = response;
        return Promise.all([promise2(), proimse3()])
            .catch((error) => {
                //Reverse only promise2, promise3
                //Throw error to reverse promise1
            });
    }).then((id) => {
        something(data);
    }).catch((error) => {
        //Reverse only promise1
    });
    
0 Answers
Related