나는 설정을 가지고 AngularJS와 resource
:AngularJS와가 - 약속을 처리하는 방법을 올바르게
app.factory('gridData', function($resource) {
var csrf = 'asdf';
return $resource('/my/url/:expID', {expID:'@id'},{
get: {method:'GET'},
query: {method:'GET', isArray:true},
save:{method:'POST', headers: {'X-CSRFToken' : csrf }}
});
});
I는 서버에서 데이터를 가져 오기 위해 그것을 사용하여 내 컨트롤러에 gridData
자원을 주입 해요 :
gridData.query(function(result) {
console.log("result is");
console.log(result);
$scope.data = result;
});
이 접근법은 AngularJS 1.3을 사용하여 잘 작동합니다. console.log(result)
문은 수신 된 실제 데이터를 인쇄합니다.
이제 AngularJS 1.2.11로 다운 그레이드를 시도했는데이 picture과 같이 console.log(result)
이 약속을 인쇄하므로 문제가 있습니다. 결과적으로 $scope.data
이 약속으로 설정되었지만 실제로는 실제 데이터를 사용할 수있을 때만 $ scope.data를 설정해야합니다.
일부 버전에서는 1.3에서 1.2 사이의 약속이 앵귤러에 도입 되었기 때문입니다. 어떤 상황에서이 상황을 어떻게 처리 할 것인가/정확하게 약속을 다루는가?
마이그레이션 후 동일한 문제가 발생했습니다. 1.2 -> 1.3. 내 방법은 너와 똑같아. 왜 이런 방식으로 작동하는지 이해할 수 없으며 다음과 같은 임시 해결 방법을 사용해야합니다. delete $ scope.myObj. $ resolved; $ scope.myObj를 삭제하십시오. $ promise; – vicont