Javascript 在angularjs中使用$resource进行同步调用

Javascript 在angularjs中使用$resource进行同步调用,javascript,angularjs,rest,angular-resource,Javascript,Angularjs,Rest,Angular Resource,我是新来的angularjs。在使用RESTfulWeb服务创建一些项目后,我遇到了一些问题。请帮助我解决这些问题。 我从中读到了$resource和$http之间的区别 我的问题是,当我使用$resource时,数据是异步的 e、 g.如果我保存任何数据并传输到详细信息页面,则我获得的数据不会更新,如果我等待一段时间,则我将获得新数据 所以我需要继续$http,或者是否有其他同步调用的方法。 我也尝试过$promise,但它并没有解决我的问题。这就是我如何使用$resource的方法 在控制器

我是新来的
angularjs
。在使用RESTfulWeb服务创建一些项目后,我遇到了一些问题。请帮助我解决这些问题。 我从中读到了
$resource
$http
之间的区别

我的问题是,当我使用
$resource
时,数据是异步的 e、 g.如果我保存任何数据并传输到详细信息页面,则我获得的数据不会更新,如果我等待一段时间,则我将获得新数据

所以我需要继续
$http
,或者是否有其他同步调用的方法。
我也尝试过
$promise
,但它并没有解决我的问题。

这就是我如何使用$resource的方法

在控制器中:

var promise = Service.queryItem();
    promise.then(function(response){

        // just adding my response items to an array
        angular.forEach(response, function(item){
            $scope.items.push(item);
        });

    }, function(reason){
        console.log(reason);
});
在职

this.queryItem = function (){

    var deferred = $q.defer();
    setTimeout(function() {
        // deferred.notify('Saving data..');
        var items = Items.query({},function() {
            deferred.resolve(items.d.results);
        }, function(error){
            deferred.reject(error);
        });
    }, 1000);
    return deferred.promise;
};
在$resource factory中:

// just a snippet from my factory
query: {
    method: 'GET',
    headers: { "Accept": "application/json; odata=verbose" },
    url: "RequestURL"
},

正如一些评论所述,使用
promise
将使其按所需的顺序运行,正如您可以看到我在
之后执行我的forEach。那么

代码?使用承诺应该是一种可行的解决方法。我怀疑答案是否是执行同步请求-您可以发布有问题的代码吗?如果您不需要同步数据,您的UI将被卡住。请在API返回的承诺内执行所有操作部分,即在成功响应中