angularjs在app.config中解析

时间:2018-03-06 17:16:02

标签: angularjs asynchronous promise resolve

在下面的示例中,我希望logincheck在进入checkBasket之前解决,因为后者取决于前一个。不,我不想将代码放在同一个函数中,因为这两个函数在其他路由中都被多次使用。 关于如何做的任何建议?

        .when("/bananaBoat", {
            templateUrl: "views/banana.html",
            resolve: {
                logincheck: logincheck,
                checkBasket: checkBasket,
            }
        })

感谢您的帮助

编辑:

以下是解决的功能:

var logincheck = function ($http, $routeParams, $location, $rootScope) {
    var abc = $http.get('/api/resources/getUser');

    abc.then(function (data) {
            if (!($rootScope.user)) {
                $location.url('/');
            }
        }, function () {
            $location.url('/');
        })
        .catch(function (err) {
            console.log(err)
        })
};

var checkBasket= function ($http, $rootScope, $location, $route) {
    if (!($rootScope.user.basket == ""))
        $location.url("/");
};

1 个答案:

答案 0 :(得分:0)

将在处理每个路径之前调用Resolve,您可以检查用户是否已登录在此控制器中将显示此isLoggedIn变量

li