…romise that is resolved when the underlying deferred is rejected and rejected when the underlying deferred is resolved." This reverts commit 4e97543.
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -56,16 +56,8 @@ var jQuery = function( selector, context ) { | ||
// The deferred used on DOM ready | ||
readyList, | ||
|
||
// Promise methods (with equivalent for invert) | ||
promiseMethods = { | ||
then: 0, // will be overwritten for invert | ||
done: "fail", | ||
fail: "done", | ||
isResolved: "isRejected", | ||
isRejected: "isResolved", | ||
promise: "invert", | ||
invert: "promise" | ||
}, | ||
// Promise methods | ||
promiseMethods = "then done fail isResolved isRejected promise".split( " " ), | ||
|
||
// The ready event handler | ||
DOMContentLoaded, | ||
@@ -885,9 +877,8 @@ jQuery.extend({ | ||
Deferred: function( func ) { | ||
var deferred = jQuery._Deferred(), | ||
failDeferred = jQuery._Deferred(), | ||
promise, | ||
invert; | ||
// Add errorDeferred methods, then, promise and invert | ||
promise; | ||
// Add errorDeferred methods, then and promise | ||
jQuery.extend( deferred, { | ||
then: function( doneCallbacks, failCallbacks ) { | ||
deferred.done( doneCallbacks ).fail( failCallbacks ); | ||
@@ -899,34 +890,17 @@ jQuery.extend({ | ||
isRejected: failDeferred.isResolved, | ||
// Get a promise for this deferred | ||
// If obj is provided, the promise aspect is added to the object | ||
promise: function( obj ) { | ||
promise: function( obj , i /* internal */ ) { | ||
if ( obj == null ) { | ||
if ( promise ) { | ||
return promise; | ||
} | ||
promise = obj = {}; | ||
} | ||
for( var methodName in promiseMethods ) { | ||
obj[ methodName ] = deferred[ methodName ]; | ||
} | ||
return obj; | ||
}, | ||
// Get the invert promise for this deferred | ||
// If obj is provided, the invert promise aspect is added to the object | ||
invert: function( obj ) { | ||
if ( obj == null ) { | ||
if ( invert ) { | ||
return invert; | ||
} | ||
invert = obj = {}; | ||
} | ||
for( var methodName in promiseMethods ) { | ||
obj[ methodName ] = promiseMethods[ methodName ] && deferred[ promiseMethods[methodName] ]; | ||
i = promiseMethods.length; | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
RStankov
|
||
while( i-- ) { | ||
obj[ promiseMethods[ i ] ] = deferred[ promiseMethods[ i ] ]; | ||
} | ||
obj.then = invert.then || function( doneCallbacks, failCallbacks ) { | ||
deferred.done( failCallbacks ).fail( doneCallbacks ); | ||
return this; | ||
}; | ||
return obj; | ||
} | ||
} ); | ||
Why you are not declaring "var i" here ?