【问题标题】:How to use restangular with promise pattern in angular service如何在角度服务中使用带有承诺模式的restangular
【发布时间】:2014-07-09 20:26:25
【问题描述】:

我有一个具有以下结构的休息角服务

function countrySvc(restangular) {
    restangular.addResponseInterceptor(function (data, operation, what, url, response, deferred) {

        if (operation === 'getList') {
            var newResponse = response.data;

            return newResponse;
        }
        return response;
    });
    var baseCountry = restangular.all('country');


    this.countries = function() {

        baseCountry.getList();

    };
}

也是一个控制器

function countryCtrl(scope, countrySvc) {


    scope.countries = countrySvc.countries();

}

但是当我从控制器访问国家/地区时,结果为空且成功请求数据,我的问题是如何从具有适当承诺模式的响应中提取数据,即(当我访问范围时我需要国家/地区数组.国家)

【问题讨论】:

    标签: angularjs asp.net-web-api restangular


    【解决方案1】:

    你需要解决promise...

    有两种方法可以做到...

    1) 使用$object

    只需将.$object 添加到promise 的末尾,这样一旦请求完成,它就会解析promise...

    scope.countries = countrySvc.countries().$object;
    

    2) 使用then

    如果您需要在 promise 解决后做一些事情,请选择此选项,一旦请求完成,then 中的回调函数将被触发

    scope.countries = countrySvc.countries().then(function (response){
        // DO SOMETHING IF YOU NEED BEFORE SET OBJECT
        scope.countries = response;
        // DO SOMETHING IF YOU NEED AFTER SET OBJECT
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 2015-03-22
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多