Skip to content

Commit a25721a

Browse files
committed
code compression
1 parent 6e066a4 commit a25721a

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/deferred.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ jQuery.extend({
77

88
Deferred: function( func ) {
99
var tuples = [
10-
// action, add listener, listener list
11-
[ "resolve", "done", jQuery.Callbacks("once memory") ],
12-
[ "reject", "fail", jQuery.Callbacks("once memory") ],
10+
// action, add listener, listener list, final state
11+
[ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
12+
[ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
1313
[ "notify", "progress", jQuery.Callbacks("memory") ]
1414
],
1515
state = "pending",
@@ -59,19 +59,22 @@ jQuery.extend({
5959

6060
// Add list-specific methods
6161
jQuery.each( tuples, function( i, tuple ) {
62-
var list = tuple[ 2 ], stateString;
62+
var list = tuple[ 2 ],
63+
stateString = tuple[ 3 ];
6364

6465
// promise[ done | fail | progress ] = list.add
6566
promise[ tuple[1] ] = list.add;
6667

6768
// Handle state
6869
if ( i < 2 ) {
69-
stateString = tuple[ 0 ].replace( /e?$/, "ed" );
7070
list.add(function() {
71+
// state = [ resolved | rejected ]
7172
state = stateString;
72-
tuples[ i ^ 1 ][ 2 ].disable();
73-
tuples[ 2 ][ 2 ].lock();
74-
});
73+
74+
// [ reject_list | resolve_list ].disable; progress_list.lock
75+
}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
76+
77+
// [ isResolved | isRejected ] = [ resolve_list | reject_list ].fired
7578
promise[ "isR" + stateString.substr( 1 ) ] = list.fired;
7679
}
7780

0 commit comments

Comments
 (0)