Javascript 重定向到ngRoute$routeProvider解析中的其他路由

Javascript 重定向到ngRoute$routeProvider解析中的其他路由,javascript,angularjs,Javascript,Angularjs,在我的应用程序中,我遇到了这样一种情况:基于某个条件,如果用户在控制器和视图加载之前访问某个路由(“/checkinsuccess”),则会运行一个函数,该函数使用routeProviders resolve属性检查某个标志是否为真。如果此标志为真,它将重定向到新路由。不幸的是,我试图重定向的初始视图和控制器(“/checkinsuccess”)似乎是在resolve属性中调用的函数完成之前加载的。这会导致问题,因为初始视图运行自动注销功能。有没有办法在初始路线加载之前运行检查,我想这就是res

在我的应用程序中,我遇到了这样一种情况:基于某个条件,如果用户在控制器和视图加载之前访问某个路由(“/checkinsuccess”),则会运行一个函数,该函数使用routeProviders resolve属性检查某个标志是否为真。如果此标志为真,它将重定向到新路由。不幸的是,我试图重定向的初始视图和控制器(“/checkinsuccess”)似乎是在resolve属性中调用的函数完成之前加载的。这会导致问题,因为初始视图运行自动注销功能。有没有办法在初始路线加载之前运行检查,我想这就是resolve所做的?这是我的一段代码

.when('/checkinsuccess', {
        controller: 'thankuctrl',
        templateUrl: 'views/MobileCheckin/checkin-success.html',
        resolve: {
            checkForWorkflowUpdates: function($location){
                checkForWorkflowUpdates($location)   
            }                                                   
        }

 // check if workflow update has been made and load that route if true.
 function checkForWorkflowUpdates($location){
     var selectedForms = JSON.parse(sessionStorage.getItem('selectedForms'));
        if (selectedForms) {
            if(selectedForms.workersComp){
                $location.path('/workerscomp');
            } else if (selectedForms.motorVehical) {
                $location.path('/autoaccident');
            }
        }
  }

我使用resolve获取并构建注入控制器的模型。您为什么不能将
checkForWorkflowUpdates
逻辑添加到调用
/checkinsuccess
的任何位置?我试过了,但在重定向之前,它会将初始视图闪烁一秒钟。此外,此路由还有几个不同的动态入口点,因此我无法将其添加到可能加载它的每个控制器中。不从函数返回任何内容。。。试着回复一个承诺,并相应地解决或拒绝。如果控制器被拒绝,它将不会加载感谢提示,知道这方面的好例子吗@夏列特夫