데이터베이스의 일부 데이터를 가져 오는 AngularJS 함수가 있습니다. 데이터가 데이터베이스에 어떻게 채워지는지에 따라 필자가 찾고있는 일부 데이터를 얻지 못하게 될 것입니다 (원래 호출 중 두 번째 또는 두 번째 데이터를 다시 가져옵니다). 내가하고 싶은 것은 데이터베이스에서 돌아온 결과를 확인하는 것입니다. 특정 유형이 아직 없으면 데이터베이스에서 데이터를 다시 가져 오는 또 다른 약속을 푸시하는 것입니다. 지금까지 내 기능은 다음과 같습니다.결과에 따라 각도 약속을 반복 하시겠습니까?
function getResponses(ids,user) {
var deferred = $q.defer();
var promises = [];
var idsString = "";
angular.forEach(ids, function (id) {
idsString += "," + id;
});
idsString = idsString.substring(1);
//Get Response calls retrieves the data from the database
promises.push(getResponse(idsString, user));
$q.all(promises).then(function(results) {
deferred.resolve(results);
});
return deferred.promise;
}
가장 큰 질문은 "검사 결과"부분을 어디에 넣을까요? 나는 그것이 $ q.all 블록에 들어갈 것이라고 생각하지만 데이터베이스에서 결과를 먼저 분석해야하거나 데이터베이스에서 결과를 확인하고 필요한 모든 유형을 포함하고 있다면 해결할 수 있습니까? 그때? 그리고 해결되지 않으면 원하는 결과가 돌아올 때까지 $ 간격으로 getResponse 약속을 계속 진행하십시오.
내가 무엇을 요구할 수 있습니까?
감사
그래서, 기본적으로는 특정 유형의 값에 대한 데이터베이스를 폴링 할가? 그렇다면 형식 매개 변수를 사용하고 해당 특정 값을 확인하는 함수를 만드는 것이 더 논리적 일 것입니다. 그렇게하면 약속의 배열을 만들 수 있고, 모든 것을 기다릴 수 있으며, 모든 것이 해결되면 여러분의 가치를 얻을 수 있습니다. –