I think you may not understand promises. Using the .then promise method (pipe in jQuery <1.8), you can return a new promise and so on. This is how you create a promise chain.
Here is an example of what looks like what you are trying to do:
function returnOne() { return $.Deferred(function( dfr ) { dfr.resolve( 1 ); }).promise(); }
Using this logic, you can filter the resolution or deviations of your promises, but you want to, including just re-resolving or rejecting with the same value, but maybe doing some intermediate work
source share