Propagete context of returned deferred object in Deferred.then(). Fixes #13160

This commit is contained in:
nanto_vi
2013-01-06 17:09:28 +09:00
parent c61150427f
commit e7fdda9819
2 changed files with 21 additions and 3 deletions

View File

@@ -35,7 +35,9 @@ jQuery.extend({
newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, [ returned ] );
}
} :
newDefer[ action ]
function() {
newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, arguments );
}
);
});
fns = null;
@@ -72,7 +74,7 @@ jQuery.extend({
// deferred[ resolve | reject | notify ]
deferred[ tuple[0] ] = function() {
deferred[ tuple[0] + "With" ]( promise, arguments );
deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
return this;
};
deferred[ tuple[0] + "With" ] = list.fireWith;