我正在使用角度1的ui-routers狀態定義的resolve屬性來提供返回承諾的函數。提供的功能應該檢查用戶是否被允許訪問狀態。ui-router狀態轉換到控制檯拒絕承諾的打印錯誤
如果返回的promise被拒絕,狀態轉換不會發生 - 正是我想實現的。此外,我可以收聽$stateChangeError
活動以獲取有關拒絕的詳細信息。一切正常。
我的問題是,錯誤打印到控制檯,我想避免。
考慮這種狀態definiton:
$stateProvider.state({
name: 'about',
url: '/about',
template: '<h3>Its the UI-Router hello world app!</h3>',
resolve: {
isAllowed:function(){
return new Promise(function(resolve, reject){
reject(new Error("not allowed"));
});
}
}
});
這將導致以下錯誤打印到控制檯,無論何時訪問該狀態:
請參見本Plunker的最低工作例。
有沒有什麼辦法擺脫控制檯錯誤,同時保持其餘的行爲?
BTW u可以使用的'Promise.reject()',而不是新的承諾... –