nl_tokens: @ngdoc @name ng . $q#when @methodOf ng . $q @description Wraps an object that might be a value or a ( 3rd party ) then - able promise into a $q promise . This is useful when you are dealing with an object that might or might not be a promise or if the promise comes from a source that can t be trusted .
pl_tokens: function ( value , callback , errback , progressback ) { var result = defer ( ) , done ; var wrappedCallback = function ( <mask> ) { try { return ( isFunction ( callback ) ? callback : defaultCallback ) ( value ) ; } catch ( e ) { exceptionHandler ( e ) ; return reject ( e ) ; } } ; var wrappedErrback = function ( reason ) { try { return ( isFunction ( errback ) ? errback : defaultErrback ) ( reason ) ; } catch ( e ) { exceptionHandler ( e ) ; return reject ( e ) ; } } ; var wrappedProgressback = function ( progress ) { try { return ( isFunction ( progressback ) ? progressback : defaultCallback ) ( progress ) ; } catch ( e ) { exceptionHandler ( e ) ; } } ; nextTick ( function ( ) { ref ( value ) . then ( function ( value ) { if ( done ) return ; done = true ; result . resolve ( ref ( value ) . then ( wrappedCallback , wrappedErrback , wrappedProgressback ) ) ; } , function ( reason ) { if ( done ) return ; done = true ; result . resolve ( wrappedErrback ( reason ) ) ; } , function ( progress ) { if ( done ) return ; result . notify ( wrappedProgressback ( progress ) ) ; } ) ; } ) ; return result . promise ; }