Я работаю над приложением для ведения блога. Я также хочу сохранить список статей на SqlLite. Мне нужно получить все блоги за один раз. (более 2000) блогов.
следующий мой код контроллера.
var promise= userService.getArticles();
promise.then(function(data) {
$scope.articles = data;
}, function(error) {
console.log('Failed for some reason:' + error);
});
и заводской код - угловой.модуль ("стартер.контроллеры")
.factory('userService', function($http,$q) {
var articleList = [];
return {
getArticles : function() {
var deferred = $q.defer();
$http({
url: "https://www.website.com/getallinfo?access_token=94529e5d",
data: { starLimit: 0, endLimit: 150,created_date: 0 },
method: 'POST',
withCredentials: true,
}).success(function (data, status, headers, config) {
deferred.resolve(data);
}).error(function (err) {
deferred.reject(error); //
})
return deferred.promise;
},
}
который сохраняет результат.
Мне нужно также сохранить эти данные в sqllite. Также я хочу показать данные как офлайн.
Я не уверен, как это сделать. Незлая помощь.
благодаря
Большинство автономных приложений используют локальную память в качестве кеша и обновление, если доступно соединение.
Легкий способ сделать это:
Код экзамена:
// The article service
myApp.factory('articles', function($q, $timeout, $window, loremIpsum) {
// Initialize by grabbing the articles from the local cache (if any)
var items = angular.fromJson($window.localStorage.getItem('myArticles'));
// Construct our service
var service = {
items: items,
refresh: function() {
// Sync with the server
var defer = $q.defer();
// For this demo I'm using a timeout (this also allows for some artificial lag).
// Replace this with your $http calls.
$timeout(function() {
// Here I'm generating some total random items that we're resolving
// Also not needed in your app
var c = 100, result = [];
while (c--) {
result.push({
title: loremIpsum.getRandomLine(2),
description: loremIpsum.getRandomLine(15)
});
}
service.items = result;
defer.resolve(result);
// Store the returned result from the server in the local storage
$window.localStorage.setItem('myArticles', angular.toJson(result));
}, 500);
return defer.promise;
}
};
return service;
});
Пример Plunker можно найти здесь.