내 상태를 정의 할 때 resolve를 사용하여 내보기를로드하기 전에 SQLite DB에서 데이터를로드하려고합니다. 각도 ui-router 해결 약속 무한 다이제스트 루프 제공
현재 : UI 라우터 상태.state("menu", {
templateUrl: "templates/menu.html",
controller: "MenuCtrl",
url: "/menu",
resolve:{
simpleObj: function(){
return {value: 'simple!'};
},
promiseObj: function($cordovaSQLite){
query = "SELECT id FROM reports WHERE progress_status<2";
$cordovaSQLite.execute(db, query, []).then(function(res) {
var pendingList = [];
for (var i = 0; i < res.rows.length; i++) {
pendingList.push(res.rows.item(i).id);
}
return pendingList;
});
}
}
})
컨트롤러
angular.module('starter.controllers').controller('MenuCtrl', function($scope, promiseObj) {
console.log(JSON.stringify(promiseObj));
});
그러나이 코드 내게 다이제스트 무한 루프를 제공한다. 나는 일반적으로 DB는 (같은 결과를 제공)하지만, 시험을 위해 인라인 이사 서비스에서 코드를 실행 한
내가 제대로이 작업을 수행하는 방법사람이 말해 줄래?
업데이트 : 그래서
오류 메시지 :
02-04 12 : 07 : 03.520 : D/CordovaLog (7773) : 파일 : /// android_asset/www가/lib 디렉토리/이온/JS/ionic.bundle.js : Line 19387 : 오류 : [$ rootScope : infdig] 10 $ digest() 반복에 도달했습니다. 중단합니다! 07 :
02-04 03.520 12 : D/CordovaLog (7773)의 마지막 5 반복 소성 관찰자 : []
02-04 12 : 07 : 03.520 : D/CordovaLog (7773) : http://errors.angularjs.org/1.3.6/ $ rootScope/infdig? P0 = 10 & P1 = % 5B % 5D
당신은 &은 다음 컨트롤러 내부에 액세스 할 수 있습니다 서비스에서 약속을 반환해야
이것이 문제이지만'execute()'가 약속을 되 돌리는 지 확실하지 않으면 해결 함수가 약속을 반환해야합니다. –