On Fri, Jun 30, 2017 at 8:25 AM, Joaquin Oltra Hernandez < jhernandez@wikimedia.org> wrote:
Breaking change and Feature: jQuery.Deferred is now Promises/A+
compatible
Yay! There are subtle but important differences, I recommend reading the deferred section of the upgrade-guide https://jquery.com/upgrade-guide/3.0/#deferred, which does a good job explaining the changes.
One change to Promise behavior that I don't see mentioned there (although I may have missed it) that bit oojs-ui is that the behavior greatly changed when passing a promise (or any "thenable") as the first argument to .resolve(). Instead of resolving it with the given promise passed to the original promise's handlers as you might expect, Promises/A+ decided that you want to effectively retroactively reattach all the handlers to the new promise instead.