我正在寻找一种在控制器开始执行之前解决我的诺言的方法。
但是无论我如何尝试,控制器已经在运行,结果仍在等待。
谁能帮我 :(

templateUrl: 'tag/details.html',
resolve: {
    result: function (TagResource, $route) {
        TagResource.get({ id: $route.current.params.id }).$promise.then(function (data) {
            return data
        });
    }
}

最佳答案

兑现承诺:

templateUrl: 'tag/details.html',
resolve: {
    result: function (TagResource, $route) {
        ̶T̶a̶g̶R̶e̶s̶o̶u̶r̶c̶e̶.̶g̶e̶t̶(̶{̶ ̶i̶d̶:̶ ̶$̶r̶o̶u̶t̶e̶.̶c̶u̶r̶r̶e̶n̶t̶.̶p̶a̶r̶a̶m̶s̶.̶i̶d̶ ̶}̶)̶
        return TagResource.get({ id: $route.current.params.id })
        .$promise.then(function (data) {
            return data
        });
    }
}




更好

跳过.then方法:

templateUrl: 'tag/details.html',
resolve: {
    result: function (TagResource, $route) {
        ̶T̶a̶g̶R̶e̶s̶o̶u̶r̶c̶e̶.̶g̶e̶t̶(̶{̶ ̶i̶d̶:̶ ̶$̶r̶o̶u̶t̶e̶.̶c̶u̶r̶r̶e̶n̶t̶.̶p̶a̶r̶a̶m̶s̶.̶i̶d̶ ̶}̶)̶
        return TagResource.get({ id: $route.current.params.id }).$promise;
    }
}

07-24 18:10
查看更多