我正在尝试使用微风js从服务器检索数据。当下面的控制器代码段中的代码运行时,它将命中服务器并将正确的数据返回给客户端(已在Chrome Network工具中验证)。但是,如果您在promise处理程序中分析data.results,结果中的模型将显示为该实体的新版本,其中包含字段的所有默认值(零,null等)。控制台中没有错误。
仅当您直接转到此页面时,才会发生这种情况。如果您转到网站的主页,则导航至该页面,一切正常。加载网站时,这似乎是一种竞争状况,但我不确定在哪里寻找。
有什么想法吗?
//From tnDataContext
function getFromAllTasks(criteria, orderBy, take, skip) {
var predicates = getPredicatesFromTaskCriteria(criteria);
if (!orderBy)
orderBy = 'taskStatus.taskInboxSortOrder, taskPriority.priorityLevel, endDueDate DESC';
var predicate = breeze.Predicate.and(predicates);
var query = breeze.EntityQuery.from('Tasks')
.where(predicate)
.expand('parentTask, taskNotes')
.orderBy(orderBy)
.inlineCount()
.take(take)
.skip(skip);
$rootScope.appProcesses++;
return em.executeQuery(query).finally(function () {
$rootScope.appProcesses--;
});
}
//From Angular Page Controller
return tnDataContext.getFromAllTasks(criteria, sortOrder, take, skip)
.then(function (data) {
if (data.results.length > 0) {
tasks = data.results;
$scope.task = tnDataContext.getEntity('Task', id);
$scope.childTasks = tasks.filter(function (t) {
return t.taskId != id;
});
determineCanUseActions($scope.task.taskType.taskTypeEntityTypes[0]);
}
});