2016-09-27 4 views
0

私はthis投稿とthis回答から部分的に取り組んでいます。拒否された約束が捕らえられていない

私はこのルートを持っている:

user.isAdminは次のようになります。

isAdmin: function() { 
    return this.getProfile().then(function(data){ 
     // then return the response. 
     if(data.isadmin) { 
      return true; 
     } 
     else { 
      return $q.reject(false); 
     } 
    }); 
}, 

これまでのところ、私が言うことができるように、すべてのものは、この点に動作します。 isAdmin()は、ユーザーに応じて適切な応答を返します。

物事が間違ってここに行くために開始します。

$rootScope.$on("$stateChangeError", function (event, current, previous, rejection) { 
    console.log("Is this thing on?"); 
}); 

.isAdmin()は約束を拒否した場合、右、$stateChangeErorがあるはず?しかし、私のコードでは、それは起こりません。 console.log("Is this thing on?")行には決して到達しません。エラーはありません。ページは通常のようにレンダリングされます。

私は約束のどこかで汚れていると思うが(それはいつも汚れてしまう)、私はそれを見ない。

助けが必要ですか?ありがとう。

答えて

1

私は問題を発見:私は上記のリンクポストは、私は確かresolveはに機能を待っ作るために$promiseを持つことが必要であると主張し

access: function(user){return user.isAdmin()} 

access: function(user){return user.isAdmin().$promise} 

はこれをされている必要がありますそれを約束しておきますが、そうではないようです。

関連する問題