(value, isResolved)
| 11782 | } |
| 11783 | |
| 11784 | function handleCallback(value, isResolved) { |
| 11785 | var callbackOutput = null; |
| 11786 | try { |
| 11787 | callbackOutput = (callback ||defaultCallback)(); |
| 11788 | } catch(e) { |
| 11789 | return makePromise(e, false); |
| 11790 | } |
| 11791 | if (isPromiseLike(callbackOutput)) { |
| 11792 | return callbackOutput.then(function() { |
| 11793 | return makePromise(value, isResolved); |
| 11794 | }, function(error) { |
| 11795 | return makePromise(error, false); |
| 11796 | }); |
| 11797 | } else { |
| 11798 | return makePromise(value, isResolved); |
| 11799 | } |
| 11800 | } |
| 11801 | |
| 11802 | return this.then(function(value) { |
| 11803 | return handleCallback(value, true); |
no test coverage detected