aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrian Ford2013-08-21 16:40:20 -0700
committerBrian Ford2013-08-21 16:58:40 -0700
commit7d188d630c63fde05d8765d0ad2d75a5baa8e5d3 (patch)
tree8889de135b6f156e21a2d4bdb900d5351fd96bb2 /src
parent8ee9a3e902e523577f9ea331af56c7bad6b4eea9 (diff)
downloadangular.js-7d188d630c63fde05d8765d0ad2d75a5baa8e5d3.tar.bz2
fix($q): fix forwarding resolution when callbacks aren't functions
Uses the changes from @jamestalmage's fix in #3535. (thanks!) Closes #3535
Diffstat (limited to 'src')
-rw-r--r--src/ng/q.js18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/ng/q.js b/src/ng/q.js
index 307dc1b4..cc39967c 100644
--- a/src/ng/q.js
+++ b/src/ng/q.js
@@ -241,7 +241,7 @@ function qFactory(nextTick, exceptionHandler) {
var wrappedCallback = function(value) {
try {
- result.resolve((callback || defaultCallback)(value));
+ result.resolve((isFunction(callback) ? callback : defaultCallback)(value));
} catch(e) {
result.reject(e);
exceptionHandler(e);
@@ -250,7 +250,7 @@ function qFactory(nextTick, exceptionHandler) {
var wrappedErrback = function(reason) {
try {
- result.resolve((errback || defaultErrback)(reason));
+ result.resolve((isFunction(errback) ? errback : defaultErrback)(reason));
} catch(e) {
result.reject(e);
exceptionHandler(e);
@@ -259,7 +259,7 @@ function qFactory(nextTick, exceptionHandler) {
var wrappedProgressback = function(progress) {
try {
- result.notify((progressback || defaultCallback)(progress));
+ result.notify((isFunction(progressback) ? progressback : defaultCallback)(progress));
} catch(e) {
exceptionHandler(e);
}
@@ -297,7 +297,7 @@ function qFactory(nextTick, exceptionHandler) {
} catch(e) {
return makePromise(e, false);
}
- if (callbackOutput && callbackOutput.then) {
+ if (callbackOutput && isFunction(callbackOutput.then)) {
return callbackOutput.then(function() {
return makePromise(value, isResolved);
}, function(error) {
@@ -322,7 +322,7 @@ function qFactory(nextTick, exceptionHandler) {
var ref = function(value) {
- if (value && value.then) return value;
+ if (value && isFunction(value.then)) return value;
return {
then: function(callback) {
var result = defer();
@@ -375,7 +375,7 @@ function qFactory(nextTick, exceptionHandler) {
then: function(callback, errback) {
var result = defer();
nextTick(function() {
- result.resolve((errback || defaultErrback)(reason));
+ result.resolve((isFunction(errback) ? errback : defaultErrback)(reason));
});
return result.promise;
}
@@ -401,7 +401,7 @@ function qFactory(nextTick, exceptionHandler) {
var wrappedCallback = function(value) {
try {
- return (callback || defaultCallback)(value);
+ return (isFunction(callback) ? callback : defaultCallback)(value);
} catch (e) {
exceptionHandler(e);
return reject(e);
@@ -410,7 +410,7 @@ function qFactory(nextTick, exceptionHandler) {
var wrappedErrback = function(reason) {
try {
- return (errback || defaultErrback)(reason);
+ return (isFunction(errback) ? errback : defaultErrback)(reason);
} catch (e) {
exceptionHandler(e);
return reject(e);
@@ -419,7 +419,7 @@ function qFactory(nextTick, exceptionHandler) {
var wrappedProgressback = function(progress) {
try {
- return (progressback || defaultCallback)(progress);
+ return (isFunction(progressback) ? progressback : defaultCallback)(progress);
} catch (e) {
exceptionHandler(e);
}