Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJs服务返回空列表_Javascript_Angularjs_Promise_Httprequest - Fatal编程技术网

Javascript AngularJs服务返回空列表

Javascript AngularJs服务返回空列表,javascript,angularjs,promise,httprequest,Javascript,Angularjs,Promise,Httprequest,我需要通过angularjs服务发出http请求。我知道它是异步工作的,但我无法捕获数据 var dataRifValues = []; monitoraggioProcessiService.getDataRifList().then(function(response) { angular.forEach(response, function(date, key) { dataRifValues.push(date.dataRiferimento); });

我需要通过angularjs服务发出http请求。我知道它是异步工作的,但我无法捕获数据

var dataRifValues = [];

monitoraggioProcessiService.getDataRifList().then(function(response) {
    angular.forEach(response, function(date, key) {
        dataRifValues.push(date.dataRiferimento);
    });
});

this.getDataRifList = function() {
    var url = $rootScope.baseLink + "/processi/dataRif";
    var deferred = $q.defer();
    var list = [];
    if (list.length === 0) {
        var promise = ispCommunicationManager.returnPromise(
                          ispServiceRequest.prepareRequest(url,"GET",
                                {
                                    "Content-Type" : "application/json"
                                }, null, null));
        promise.then(function(response) { // Success callback
            list = response.data;
            deferred.resolve(response.data); // Resolve
        }, function(response) { // Error callback
            list = response;
            deferred.reject(response); // Reject
            util.defaultErrorHandler(list,null);
        });
        list = deferred.promise;
    }
    return list
 }
我正在调用getDataRifList函数。我希望有一个包含一些数据的列表

就像叫了两遍。第一次列表为空,第二次有数据,但我的函数已经执行

错误是什么

编辑

调用正常,但当我需要将filtroDataRiferimento设置为selected属性时,dataRifValues[0]为空。而values属性具有这些值

变量filtroDataRiferimento={

                label : "Data di riferimento",
                name : "dataRiferimento",
                type : "single",
                values : dataRifValues,
                selected : dataRifValues[0],
                flagMatch : false

            };

        $scope.filtraMonitoraggioProcessi(filtroDataRiferimento.selected);

getDataRifList函数正在执行多个活动。我相信但不确定仅仅返回promise对象也能解决问题,而不是创建并返回延迟对象。 和
util.defaultErrorHandler(list,null);
可以在getDataRifList()调用失败的情况下处理


提示:不需要检查长度,因为变量的声明正好在条件
if(list.length==0){

您好,谢谢您的帮助。我尝试使用一个简单的$http请求,但我遇到了同样的问题。调用有效,但值仍然为空。我编辑我的问题:)