$ q가 Angular JS의 스코프에 정상적으로 통합 된 곳을 여러 곳에서 읽었습니다. 이 있다고 가정 : 물론
var superService = function() {
var deferred = $q.defer();
deferred.resolve(['foo', 'bar']);
return deferred.promise;
};
를, $ q를 여기에 쓸모하지만 $ 제한 시간을 사용하거나 $의 HTTP 호출을 실행하면, 결과는 동일합니다.
내가 이렇게 할 경우 :
superService().then(function(data) {
$scope.result = data;
});
그것은 괜찮습니다. 하지만 그렇게하면 :
$scope.result = superService();
괜찮을 것입니다. 하지만 내 경우에는 $ scope.result가 3 개의 요소를 포함하고 있습니다. (예 : 템플릿에서 ng-repeat로 볼 수 있습니다.) "then", "catch"및 "finally" , 'bar'] 물론. 여기
angular.module('myModule', [])
.factory('HelloWorld', function($q, $timeout) {
var getMessages = function() {
var deferred = $q.defer();
deferred.resolve(['Hello', 'world']);
return deferred.promise;
};
return {
getMessages: getMessages
};
})
.controller('HelloCtrl', function($scope, HelloWorld) {
$scope.messages = HelloWorld.getMessages();
//HelloWorld.getMessages().then(function(data) {
// $scope.messages = data;
//});
});
어떤 생각 :
내 구체적인 예
?
여기에 질문이 없습니다. – Stewie
나는 그가 뛰고있는 것에 익숙하다 - 나의 대답을 보라 - 그리고 그것은 일목 면밀한 질문으로부터 약간 불분명하다면 완벽하게 유효하다. –
여기에 문제가 있습니다. 문제는 의문의 대상이됩니다. 문제를 읽는 것은 질문을 읽는 것과 같습니다 ... 적어도 한 사람은 내 문제를 이해 한 것 같습니다 : 해결되었습니다.) – neolitec