微风查询:网络显示已返回数据,但javascript结果包含一个空模型

时间:2018-08-29 14:28:33

标签: breeze

我正在尝试使用微风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]);
                }
            });

0 个答案:

没有答案