Контроллер Angularjs не может решить данные службы.AngularJS: Услуги не разрешены в моем контроллере
var kattaApp = angular.module('kattaApp', []).controller('kattaController', function($scope, dataFactory) {
var promise = dataFactory.getResult().then(function(data) {
return data;
console.log(data);
});
promise.then(function(data) {
$scope.message = data;
console.log(data.geonames[0].countrycode);
});
console.log(" :'(Scope is not working " + $scope.message);
});
angular.module('kattaApp').factory('dataFactory', function($http, $q) {
return {
getResult: getResult
};
function getResult() {
var deferred = $q.defer();
$http.get('http://api.geonames.org/citiesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo').success(function(data, status) {
deferred.resolve(data);
}).error(function(data) {
deferred.reject(data);
});
return deferred.promise;
};
});
В приведенном выше коде я пытаюсь установить значение для $scope.message
. Когда я звоню в службу, он возвращает данные как неопределенные и через некоторое время получает данные и печатает на моей консоли.
Пожалуйста, посмотрите на мой Plnkr Link
ваш 'console.log (данные);' ничего не будет регистрировать, так как он после 'возвращения данных;' – DonJuwe