Angular ui-router получает асинхронные данные с разрешением

Я хочу отобразить форму с данными, соответствующими отредактированному элементу. я используюui-router для маршрутизации. Я определил состояние:

myapp.config(function($stateProvider) {

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

ВPropertyControllerХочу установить$scope.property с данными, поступающими из следующего вызова (конечные точки Google Cloud):

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

Я нене знаю, смогу ли я использоватьresolve потому что данные возвращаются асинхронно. Я старался

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

Первый выпускpropertyId не определено Как вы получаетеpropertyId от ?url: "/properties/:propertyId"

В основном я хочу установить$scope.property вPropertyController кresp объект, возвращаемый асинхронным вызовом.

РЕДАКТИРОВАТЬ:

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;
}

});

Ответы на вопрос(4)

Ваш ответ на вопрос