【发布时间】:2018-09-16 23:10:36
【问题描述】:
我正在尝试缓存多页资源,但localStorage.set() 仅缓存 6 页中的 4 页。有人在这样做时遇到问题吗?在内存中缓存所有这些页面工作得很好,但将其保存到localStorage 是行不通的。有我不知道的限制吗?我正在使用 Chrome 进行测试,它的存储空间绰绰有余。
var promises = [];
var catalogItems = {
partInfo: [],
partNumbers: []
};
getCatalogItems(apiConfig.url + 'api/catalogItems?projection=detail')
.success(function(res) {
var pages = res.page.totalPages;
catalogItems = updateCatalogItems(res._embedded.catalogItems, catalogItems);
if (pages > 1) {
for (var i = 1; i <= pages; i++) {
promises.push(
getCatalogItems(apiConfig.url + 'api/catalogItems?page=' + i + '&size=1000&projection=detail')
);
}
$q.all(promises).then(function(response) {
for (var j = 0; j < response.length; j++) {
catalogItems = updateCatalogItems(response[j].data._embedded.catalogItems, catalogItems);
}
deferred.resolve(catalogItems);
});
} else {
deferred.resolve(catalogItems);
}
})
.error(function(err) {
deferred.reject(err);
});
}
return deferred.promise;
}
function updateCatalogItems(data, catalogItems) {
data.forEach(function(item) {
catalogItems.partInfo.push(item);
catalogItems.partNumbers.push(item.itemNumber);
item.formattedDate = moment(item.lastModifiedDate).local().format('MM/DD/YYYY');
item.active = item.active ? 'Y' : 'N';
});
localStorageService.set('catalogItems', catalogItems);
return catalogItems;
}
【问题讨论】:
-
请参阅this answer 了解存储限制。