File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed
Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ function Promise(fn) {
1212
1313 this . then = function ( onFulfilled , onRejected ) {
1414 return new Promise ( function ( resolve , reject ) {
15- handle ( { onFulfilled : onFulfilled , onRejected : onRejected , resolve : resolve , reject : reject } )
15+ handle ( new Handler ( onFulfilled , onRejected , resolve , reject ) )
1616 } )
1717 }
1818
@@ -23,7 +23,7 @@ function Promise(fn) {
2323 }
2424 nextTick ( function ( ) {
2525 var cb = state ? deferred . onFulfilled : deferred . onRejected
26- if ( typeof cb !== 'function' ) {
26+ if ( cb === null ) {
2727 ( state ? deferred . resolve : deferred . reject ) ( value )
2828 return
2929 }
@@ -81,3 +81,11 @@ function Promise(fn) {
8181 try { fn ( resolve , reject ) }
8282 catch ( e ) { reject ( e ) }
8383}
84+
85+
86+ function Handler ( onFulfilled , onRejected , resolve , reject ) {
87+ this . onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null
88+ this . onRejected = typeof onRejected === 'function' ? onRejected : null
89+ this . resolve = resolve
90+ this . reject = reject
91+ }
You can’t perform that action at this time.
0 commit comments