2014-10-02 1 views
1

$ http 서비스 응답에 추가 구성을 전달하는 방법은 무엇입니까? 아래 코드와 같습니다 :

var promises = []; 
angular.forEach(rows, function(rowIterator) { 
    var additionalConfig = { 
     config1: rowIterator.config1, 
     config2: rowIterator.config2 
    } 

    promise = $http({ 
     method: "get", 
     url: "http://domain.com/" + rowIterator.videoId + '?appName=playlist', 
     params: {} 
    }); 
    promises.push(promise);     
}); 

return $q.all(promises).then(function(data) { 
    // handle data from all promises WITH passed custom configs 
}); 

그래서 어떻게하면 additionalConfig에서 configs를 전달하여 $ q.all 가져온 데이터를 읽을 수 있습니까?

+0

를 응답 약속을 체인에 대해 당신은 정말이 질문을 명확히 할 필요가있다. 내가 뭘 하려는지 또는 무엇을하고 싶은지 $ q.all.then 핸들러 내에서 – Phil

+0

을 알 수 없다. 아약스 응답에서 데이터에 액세스 할 수있을뿐만 아니라 변수 additionalConfig에서 데이터에 액세스 할 수 있기를 원한다. - 질문은 어떻게 AJAX 응답으로 액세스 할 수 있도록 $ http 서비스로이 객체를 전달할 수 있습니까? 이제 충분히 명확합니다. –

+0

나는 이것이 similar isse -http : //stackoverflow.com/questions/939032/jquery-pass-more-parameters-into-callback - 그러나 나는 angularJS $ q 서비스로 해결하고 싶다. –

답변

2

이 어둠 속에서 야생 찌르기는하지만 어떻게이 ... 그런

promises.push(promise.then(function(response) { 
    return { 
     response: response, 
     additionalConfig: additionalConfig; 
    }; 
})); 

... 이런 식으로

return $q.all(promises).then(function(data) { 
    angular.forEach(data, function(obj) { 
     console.log('Response', obj.response); 
     console.log('Additional config', obj.additionalConfig); 
    }); 
}); 
+1

는 매력처럼 작동합니다 :) thx –

관련 문제