Ticket #9774 (closed bug: wontfix)
.promise() after animation not returned properly (working in 1.6.1)
| Reported by: | albert@… | Owned by: | |
|---|---|---|---|
| Priority: | low | Milestone: | 1.next |
| Component: | effects | Version: | 1.6.2 |
| Keywords: | neededdocs | Cc: | |
| Blocking: | Blocked by: |
Description
If there are some nested animations, the promise is not being properly returned, so the .done() action is never executed. I attach some jsfiddle code.
If you change de version to 1.6.1 you will properly see the .done() being executed.
Thanks for your time :)
Change History
comment:1 Changed 23 months ago by timmywil
- Priority changed from undecided to low
- Status changed from new to open
- Component changed from unfiled to effects
comment:2 Changed 23 months ago by albert@…
timmy,
actually i found out that the problem is caused by the $(this).remove(). I guess that the promise is destroyed in the .remove() action.
comment:3 Changed 23 months ago by timmywil
- Keywords needsdocs added
- Status changed from open to closed
- Resolution set to wontfix
Oh, that makes sense. Sorry I missed it. The data for the promise needs to be on the element so I don't think we can fix this, but it might be something we want to document.
comment:4 Changed 23 months ago by albert@…
Mmm, then the bug was in jQuery 1.6.1? I think we might still consider it a bug as it was something that (in my humble opinion) was working in the previous version and none of the 1.6.2 changes should have broken it.
Either way, im going to put the remove() in the deferred callback, not in the animation one as i guess it's the proper way to do it.
comment:5 Changed 23 months ago by timmywil
This is the commit that caused the change in behavior: 3486365062cdc7e8598cea238e67aafa33af7dce
The remove is completed before the deferred is dequeued. I imagine this may work differently once jQuery.Callbacks is introduced in 1.7.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

Confirmed. I would expect the done to be executed at least after the first animation, although the mixture of passing callbacks and using deferreds is odd to me.
http://jsfiddle.net/timmywil/EgMqN/3/