AngularJS - $routeProvider 的 resolve 属性 导致相应控制器中的未定义对象

AngularJS - $routeProvider's resolve property results in undefined object in corresponding controller

我将下面显示的解析 属性 分配给“/users”路由。 $rootScope.resource 里面有几个 HATEOAS 风格的链接; "users" 作为 rels 之一...最终,我试图跟随 ($get) "users" linkrel 并将输出(HATEOAS rels 的另一个级别)分配给 "usersResource" 属性,然后我将通过我的控制器访问它:

.when("/users", {
            templateUrl: "/static/views/users.html",
            controller: "usersController",
            controllerAs: "usersController",
            resolve: {

                usersResource: function ($rootScope) {

                        if ($rootScope.resource) {

                        $rootScope.resource.$request().$get("users",{
                                linksAttribute: "_links",
                                embeddedAttribute: "_embedded"
                            })
                            .then(function successCallback(data) {
                                return data;

                            }, function errorCallback(data) {
                                return {}

                            })

                    }
                    else
                        return {};
                }

            }

        })

现在,当我试图从我的控制器访问 "usersResource" 时,我得到了未定义的信息。控制器当前没有逻辑。我只是暂时尝试将 usersResource 内容输出到控制台...

(function () {

angular
    .module("HateoasApp")
    .controller("usersController", usersController);

usersController.$inject = ["usersResource"];

function usersController(usersResource) {
    var vm = this;

    // properties
    vm.usersResource = usersResource;

    // objects

    // functions
    console.log(usersResource);
}

})();

任何 comments/suggestions 将不胜感激。谢谢!

您没有从解析函数返回任何内容:

return $rootScope.resource.$request()...
^^^^^^