使用微风使用离线数据时遇到问题,大多数功能在线时都能正常工作。
然后在调用此函数的函数中出现错误 undefined不是函数
$scope.getPagedDataAsync = function (pageSize, page, searchText) {
var skip = (page - 1) * pageSize;
var take = pageSize * 1;
app.dataservice.getCustomerPage(skip, take, searchText)
.then(customersQuerySucceeded);
};
以下是修改后的 getCustomerPage 功能,可以脱机工作
function getCustomerPage(skip, take, searchText) {
var importData = window.localStorage.getItem(stashAll);
manager2.importEntities(importData);
var query = breeze.EntityQuery
.from("Customers")
.orderBy("CompanyName")
.skip(skip).take(take)
.inlineCount(true);
if (searchText) {
query = query.where("CompanyName", "contains", searchText);
}
return manager2.executeQueryLocally(query);
}
以下是我如何宣布manager2用于离线使用
var manager2 = new breeze.EntityManager();
这里是 customersQuerySucceeded 功能,我认为错误出现了,我在网上对样本工作正常。
function customersQuerySucceeded(data) {
$scope.offlinecustomers = data.results;
if (data.inlineCount) {
$scope.totalServerItems = data.inlineCount;
}
$scope.$apply();
app.logger.info("Fetched " + data.results.length + " Offline Customers ");
}
以下是我在第一时间离线数据的方法。
manager = new breeze.EntityManager(serviceName);
var query=breeze.EntityQuery
.from("Customers");
manager.executeQuery(query);
var exportData = manager.exportEntities();
window.localStorage.setItem(stashAll, exportData);
答案 0 :(得分:0)
事实证明 executeQueryLocally 会返回数据,而 executeQuery 会返回一个承诺,
错误是因为我指的是承诺上的属性。
我想我必须重写我的代码才能说明......