반응형
AngularJS 자원 약속
$resource를 사용하는 간단한 컨트롤러가 있습니다.
var Regions = $resource('mocks/regions.json');
$scope.regions = Regions.query();
이 컨트롤러를 (링크 기능에서) 명령어로 사용하고 있습니다.
var regions = scope.regions;
하지만 지역은 정의되지 않았습니다.통화가 비동기적이란 건 꽤 논리적이네요
질문입니다만, 어떻게 하면 결과와 지역이 모든 데이터가 있는 어레이가 될 때까지 기다릴 수 있을까요?
UPDATE :
여기서 지시어의 정의는
app.directive('ngMap', function() {
return {
restrict: 'EA',
replace: 'true',
scope: {
},
template: '<div id="map"></div>',
controller: 'AccordMapCtrl',
link: function(scope, element, attrs) {
var regions = scope.regions;
console.log(regions);
for (var region in regions) {}
};
});
비동기 방식을 사용하는 경우 $promise에서 콜백 함수를 사용해야 합니다.다음은 예를 제시하겠습니다.
var Regions = $resource('mocks/regions.json');
$scope.regions = Regions.query();
$scope.regions.$promise.then(function (result) {
$scope.regions = result;
});
리소스 콜에서 약속을 얻으려면
Regions.query().$q.then(function(){ .... })
업데이트 : 다음과 같은 현재 버전에서 약속 구문이 변경되었습니다.
Regions.query().$promise.then(function(){ ..... })
다운 투표한 사람들은 그것이 무엇이었는지, 그리고 누가 자원 오브젝트에 이 약속을 처음 추가했는지 모른다.2012년 말에 이 기능을 사용했습니다.네, 2012년입니다.
다음 작업도 가능합니다.
Regions.query({}, function(response) {
$scope.regions = response;
// Do stuff that depends on $scope.regions here
});
/*link*/
$q.when(scope.regions).then(function(result) {
console.log(result);
});
var Regions = $resource('mocks/regions.json');
$scope.regions = Regions.query().$promise.then(function(response) {
return response;
});
언급URL : https://stackoverflow.com/questions/19490560/angularjs-resource-promise
반응형
'it-source' 카테고리의 다른 글
WordPress 플러그인에서 TinyMCE 호출 (0) | 2023.02.16 |
---|---|
ng-if를 ng-repeat 내의 스위치로 사용합니까? (0) | 2023.02.16 |
어레이 파괴 시 유형 (0) | 2023.02.16 |
Chrome에서 iframe을 로드할 때 'load' 이벤트가 발생하지 않음 (0) | 2023.02.16 |
LIKE 연산자에 여러 조건을 도입하려면 어떻게 해야 하나요? (0) | 2023.02.16 |