데이터베이스에 액세스하는 데 Restangular를 사용하는 Angularjs 프로젝트가 있습니다. 세 가지 데이터 레이어 (mydata, mysubdata, mysubsubdata)가 있으며 각 레이어간에 일대 다 관계가 있습니다. 내 문제는, 내 디스플레이, mysubsubdata mysubdata 연결할 필요가있다. 데이터베이스에서 데이터를 다시 가져 오려고하면 컴파일러에서 루프에 함수를 포함 할 수 없다는 불만이 있습니다. 그 때는 함수 내에서 루프는.then 내부의 루프 내부에서 함수를 사용하려면 어떻게해야합니까?
DataService.one(mydata.id).getList('mysubdata')
.then(function(data) {
var dataList = data;
for (returnedData in dataList) {
DataService.one(mydata.id).one('mysubdata',returnedData.id).getList('mysubsubdata')
.then(returnedSubData) {
dataList = angular.extend(dataList, returnedSubData);
});
}
});
모든 예제 내가 찾은거나 다시 첫 번째 약속의 무리를 얻기 위해 노력하고있다 : 여기에 내가 할 노력하고 있는지. 나는 그것들을 적용한다고 생각하지 않는다. 나는 여전히 Angular에서 꽤 새롭기 때문에 조금 움직일지도 모른다. 연장에 대해서도 잘 모르겠지만 그것은 별개의 질문 일 것입니다.
편집 : 나는 이것이 $ q.all로해야한다고 생각하지만 아직 방법을 이해하지 못했습니다.
제 생각에'then '을 사용하기 위해'promise'를 돌려 주어야합니다. – jdmdevdotnet
DataService는 Restangular를 사용하고 있습니다. 첫 번째 부분 (두 번째 DataService까지)은 정상적으로 작동합니다. 설명하지 않아서 미안해. –
싸이클 안에 마개를 만들려고 했습니까? –