Kątowy router ui pobiera asynchroniczne dane z rozstrzygnięciem

Chcę wyświetlić formularz z danymi odpowiadającymi edytowanemu elementowi. używamui-router do routingu. Zdefiniowałem stan:

myapp.config(function($stateProvider) {

    $stateProvider.
    .state('layout.propertyedit', {
        url: "/properties/:propertyId",
        views : {
            "contentView@": {
                templateUrl : 'partials/content2.html', 
                controller: 'PropertyController'
            }
        }
    });

WPropertyController, Chcę ustawić$scope.property z danymi pochodzącymi z następującego połączenia (punkty końcowe Google Cloud):

    gapi.client.realestate.get(propertyId).execute(function(resp) {
        console.log(resp);
    });

Nie wiem, czy mogę z tego skorzystaćresolve ponieważ dane są zwracane asynchronicznie. próbowałem

    resolve: {
        propertyData: function() {
            return gapi.client.realestate.get(propertyId).execute(function(resp) {
                console.log(resp);
            });
        }
    }

Pierwsze wydaniepropertyId jest niezdefiniowane. Jak zdobędzieszpropertyId zurl: "/properties/:propertyId"?

Zasadniczo chcę ustawić$scope.property wPropertyController doresp obiekt zwrócony przez wywołanie asynchroniczne.

EDYTOWAĆ:

myapp.controller('PropertyController', function($scope, , $stateParams, $q) {

    $scope.property = {};

    $scope.create = function(property) {
    }

    $scope.update = function(property) {
    }

function loadData() {
    var deferred = $q.defer();

    gapi.client.realestate.get({'id': '11'}).execute(function(resp) {
        deferred.resolve(resp);
    });

    $scope.property = deferred.promise;
}

});

questionAnswers(4)

yourAnswerToTheQuestion