Given 1-3 below:
var a = $.Deferred()
a.done(function(){throw Error()});
a.resolve() // Uncaught error
Now assume the call stack is cleared. Then I do the following:
a.done(function(){console.log('Done')})
a.fail(function(){console.log('Fail')})
a.then(function(){console.log('Then')})
And nothing happens. Why? Why does the uncaught error in (3) preclude futher callbacks from firing? Is this by design?