MCPcopy Index your code
hub / github.com/angular-ui/ui-router / defer

Function defer

test/angular/1.2/angular.js:11682–11812  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

11680 * @returns {Deferred} Returns a new instance of deferred.
11681 */
11682 var defer = function() {
11683 var pending = [],
11684 value, deferred;
11685
11686 deferred = {
11687
11688 resolve: function(val) {
11689 if (pending) {
11690 var callbacks = pending;
11691 pending = undefined;
11692 value = ref(val);
11693
11694 if (callbacks.length) {
11695 nextTick(function() {
11696 var callback;
11697 for (var i = 0, ii = callbacks.length; i < ii; i++) {
11698 callback = callbacks[i];
11699 value.then(callback[0], callback[1], callback[2]);
11700 }
11701 });
11702 }
11703 }
11704 },
11705
11706
11707 reject: function(reason) {
11708 deferred.resolve(createInternalRejectedPromise(reason));
11709 },
11710
11711
11712 notify: function(progress) {
11713 if (pending) {
11714 var callbacks = pending;
11715
11716 if (pending.length) {
11717 nextTick(function() {
11718 var callback;
11719 for (var i = 0, ii = callbacks.length; i < ii; i++) {
11720 callback = callbacks[i];
11721 callback[2](progress);
11722 }
11723 });
11724 }
11725 }
11726 },
11727
11728
11729 promise: {
11730 then: function(callback, errback, progressback) {
11731 var result = defer();
11732
11733 var wrappedCallback = function(value) {
11734 try {
11735 result.resolve((isFunction(callback) ? callback : defaultCallback)(value));
11736 } catch(e) {
11737 result.reject(e);
11738 exceptionHandler(e);
11739 }

Callers 6

makePromiseFunction · 0.70
refFunction · 0.70
rejectFunction · 0.70
whenFunction · 0.70
allFunction · 0.70

Calls 4

refFunction · 0.85
handleCallbackFunction · 0.70
nextTickFunction · 0.50

Tested by

no test coverage detected