Я пробовал создать службу, которая будет получать данные из локального файла JSON, но она не работает, и нет объяснений, почему нет.Угловое обслуживание для получения JSON из локального файла не работает
plunkr is here. Вот мой код для службы:
webTestApp.factory('webtest', function($q, $timeout, $http) {
var Webtest = {
fetch: function(callback) {
var ret = function() {
$http.get('webtest.json').success(function(data) {
return data;
});
};
return ret();
}
};
return Webtest;
});
Plunkr выше именно то, что я делал в моем проекте, но я раздвоенный another Plunkr, где кто-то получили такие же вещь работали. Я нашел его в этом StackOverflow answer.
Вот рабочая версия
webTestApp.factory('webtest', function($q, $timeout, $http) {
var Webtest = {
fetch: function(callback) {
var deferred = $q.defer();
$timeout(function() {
$http.get('webtest.json').success(function(data) {
deferred.resolve(data);
});
}, 30);
return deferred.promise;
}
};
return Webtest;
});
Мой вопрос, почему моя версия (первый блок) не работает, а второй один делает?
потому что вы не возвращаете обещание от функции: 'return $ http.get ....' –