MCPcopy
hub / github.com/angular-ui/ui-router / when

Function when

test/angular/1.2/angular.js:11902–11948  ·  view source on GitHub ↗
(value, callback, errback, progressback)

Source from the content-addressed store, hash-verified

11900 * @returns {Promise} Returns a promise of the passed value or promise
11901 */
11902 var when = function(value, callback, errback, progressback) {
11903 var result = defer(),
11904 done;
11905
11906 var wrappedCallback = function(value) {
11907 try {
11908 return (isFunction(callback) ? callback : defaultCallback)(value);
11909 } catch (e) {
11910 exceptionHandler(e);
11911 return reject(e);
11912 }
11913 };
11914
11915 var wrappedErrback = function(reason) {
11916 try {
11917 return (isFunction(errback) ? errback : defaultErrback)(reason);
11918 } catch (e) {
11919 exceptionHandler(e);
11920 return reject(e);
11921 }
11922 };
11923
11924 var wrappedProgressback = function(progress) {
11925 try {
11926 return (isFunction(progressback) ? progressback : defaultCallback)(progress);
11927 } catch (e) {
11928 exceptionHandler(e);
11929 }
11930 };
11931
11932 nextTick(function() {
11933 ref(value).then(function(value) {
11934 if (done) return;
11935 done = true;
11936 result.resolve(ref(value).then(wrappedCallback, wrappedErrback, wrappedProgressback));
11937 }, function(reason) {
11938 if (done) return;
11939 done = true;
11940 result.resolve(wrappedErrback(reason));
11941 }, function(progress) {
11942 if (done) return;
11943 result.notify(wrappedProgressback(progress));
11944 });
11945 });
11946
11947 return result.promise;
11948 };
11949
11950
11951 function defaultCallback(value) {

Callers

nothing calls this directly

Calls 5

refFunction · 0.85
wrappedErrbackFunction · 0.85
wrappedProgressbackFunction · 0.85
deferFunction · 0.70
nextTickFunction · 0.50

Tested by

no test coverage detected