On Jan 23, 2008 9:07 PM, SimonS <[EMAIL PROTECTED]> wrote: > > Hi, > > I'm curious about the effect of the following code: > > var d = new Deferred(); > d.addCallback(function() { alert('f'); throw new > GenericError('foo'); }); > d.addErrback(function() { alert('e'); }); > d.addCallback(function() { alert('s'); }); > d.callback('success'); > > The result I observe is that all three alerts fire, in the order 'f', > 'e', 's'. This happens even though the first callback (f) throws an > exception. My question is why is the last alert fired? > > The docs say that a callback that throws an exception will put the > deferred into an error state. Since the deferred transitions to an > error state, why does it continue calling the 'success' chain? > > Is there a simple way to abort the callback chain from one of the > callbacks?
It continues calling the success chain because the errback doesn't return an error or raise an exception. -bob --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "MochiKit" group. To post to this group, send email to mochikit@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/mochikit?hl=en -~----------~----~----~----~------~----~------~--~---