diff options
| author | Lucas Galfasó | 2014-01-31 15:22:36 -0300 |
|---|---|---|
| committer | Caitlin Potter | 2014-01-31 14:38:06 -0500 |
| commit | 074b0675a1f97dce07f520f1ae6198ed3c604000 (patch) | |
| tree | 04cf1ededc29a9de7eb37bbc6f8f306237b537ac /src/ng/q.js | |
| parent | 5ed721b9b5e95ae08450e1ae9d5202e7f3f79295 (diff) | |
| download | angular.js-074b0675a1f97dce07f520f1ae6198ed3c604000.tar.bz2 | |
fix($q): make $q.reject support `finally` and `catch`
Add support for the functions `finally` and `catch` to the
promise returned by `$q.reject`
Closes #6048
Closes #6076
Diffstat (limited to 'src/ng/q.js')
| -rw-r--r-- | src/ng/q.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ng/q.js b/src/ng/q.js index 5c36dc07..0a98c335 100644 --- a/src/ng/q.js +++ b/src/ng/q.js @@ -223,7 +223,7 @@ function qFactory(nextTick, exceptionHandler) { reject: function(reason) { - deferred.resolve(reject(reason)); + deferred.resolve(createInternalRejectedPromise(reason)); }, @@ -380,6 +380,12 @@ function qFactory(nextTick, exceptionHandler) { * @returns {Promise} Returns a promise that was already resolved as rejected with the `reason`. */ var reject = function(reason) { + var result = defer(); + result.reject(reason); + return result.promise; + }; + + var createInternalRejectedPromise = function(reason) { return { then: function(callback, errback) { var result = defer(); |
