1
私は、BreezeとzStorageを使ってデータを管理するAngularプロジェクトに取り組んでいます。データを更新しようとすると、古いデータを削除せずに新しいデータをストレージにプッシュします。Breeze zStorageは古いデータにデータを追加します
function getAll(forceRemote, page, size, nameFilter) {
var self = this;
// Only return a page worth of devices
var take = size || 20;
var skip = page ? (page - 1) * size : 0;
if (self.zStorage.areItemsLoaded(entityName) && !forceRemote) {
// Get the page of Peripherals from local cache
return self.$q.when(getByPage());
}
// Load all devices to cache via remote query
return EntityQuery.from('Devices')
.orderBy(orderBy)
.toType(entityName)
.using(self.manager).execute()
.then(querySucceeded)
.catch(self._queryFailed);
function querySucceeded(data) {
self.zStorage.areItemsLoaded(entityName, true);
self.zStorage.save();
self.log('Retrieved [Devices] from remote data source', data.results.length, true);
return getByPage();
}
function getByPage() {
var predicate = null;
if (nameFilter) {
predicate = _devicePredicate(nameFilter);
}
var devices = EntityQuery.from(entityName)
.where(predicate)
.orderBy(orderBy)
.toType(entityName)
.take(take).skip(skip)
.using(self.manager)
.executeLocally();
return devices;
}
}
問題が自分の構成であるかzStorageであるかわかりません。