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 @@ -20,7 +20,7 @@ function Promise(fn) {
2020
2121 this . then = function ( onFulfilled , onRejected ) {
2222 return new Promise ( function ( resolve , reject ) {
23- handle ( { onFulfilled : onFulfilled , onRejected : onRejected , resolve : resolve , reject : reject } )
23+ handle ( new Handler ( onFulfilled , onRejected , resolve , reject ) )
2424 } )
2525 }
2626
@@ -31,7 +31,7 @@ function Promise(fn) {
3131 }
3232 nextTick ( function ( ) {
3333 var cb = state ? deferred . onFulfilled : deferred . onRejected
34- if ( typeof cb !== 'function' ) {
34+ if ( cb === null ) {
3535 ( state ? deferred . resolve : deferred . reject ) ( value )
3636 return
3737 }
@@ -95,3 +95,11 @@ function Promise(fn) {
9595 try { fn ( resolve , reject ) }
9696 catch ( e ) { reject ( e ) }
9797}
98+
99+
100+ function Handler ( onFulfilled , onRejected , resolve , reject ) {
101+ this . onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null
102+ this . onRejected = typeof onRejected === 'function' ? onRejected : null
103+ this . resolve = resolve
104+ this . reject = reject
105+ }
You can’t perform that action at this time.
0 commit comments