2014-03-25 22 views
1

我試圖得到一個消息時承諾的決心完成角允諾裝飾得到解決

$provide.decorator('$q', function ($delegate) { 
    var defer = $delegate.defer; 
    $delegate.defer = function() { 
     var deferred = defer(); 
     console.log("defer"); 
     return deferred; 
    }; 
    $delegate.resolve = function() { 
     var resolved = resolve(); 
     console.log("resolve"); 
     return deferred; 
    }; 
    return $delegate; 
}); 
+0

'resolve'不是'$ q'的方法,但延遲對象方法 – doodeec

回答

1

我不知道這是否是完全正確的,但對於想象力,它會看起來像

$provide.decorator('$q', function ($delegate) { 
    var defer = $delegate.defer; 
    $delegate.defer = function() { 
     var deferred = defer(), 
      resolve = deferred.resolve; 

     deferred.resolve = function(data) { 
      console.log('resolved'); 
      return resolve(data); 
     }; 

     return deferred; 
    }; 
    return $delegate; 
});