From 664526d69c927370c93a06745ca38de7cd03a7be Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Wed, 31 Jul 2013 10:09:23 +0100 Subject: fix($q): call `reject()` even if `$exceptionHandler` rethrows Normally $exceptionHandler doesn't throw an exception. It is normally used just for logging and so on. But if an application developer implemented a version that did throw an exception then $q would never have called reject() when converting an exception thrown inside a `then` handler into a rejected promise. --- src/ng/q.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/ng/q.js') diff --git a/src/ng/q.js b/src/ng/q.js index fe05b37f..b68660d5 100644 --- a/src/ng/q.js +++ b/src/ng/q.js @@ -237,8 +237,8 @@ function qFactory(nextTick, exceptionHandler) { try { result.resolve((callback || defaultCallback)(value)); } catch(e) { - exceptionHandler(e); result.reject(e); + exceptionHandler(e); } }; @@ -246,8 +246,8 @@ function qFactory(nextTick, exceptionHandler) { try { result.resolve((errback || defaultErrback)(reason)); } catch(e) { - exceptionHandler(e); result.reject(e); + exceptionHandler(e); } }; -- cgit v1.2.3