Breeze 可能的微风1.4.8错误?fetchEntityByKey未等待元数据

Breeze 可能的微风1.4.8错误?fetchEntityByKey未等待元数据,breeze,Breeze,我的代码如下: var getUserByGuid = function (guid, entityObservable) { return datacontext.manager.user.fetchEntityByKey('User', guid, true) .then(fetchSucceeded) .fail(queryFailed); fu

我的代码如下:

        var getUserByGuid = function (guid, entityObservable) {
        return datacontext.manager.user.fetchEntityByKey('User', guid, true)
                        .then(fetchSucceeded)
                        .fail(queryFailed);

        function fetchSucceeded(data) {
            var entity = data.entity;
            if (ko.isWriteableObservable(entityObservable))
                entityObservable(entity);
            return entity;
        }

        function queryFailed(error) {
            logger.error(error);
        }
    };
为此:

        var getUserByGuid = function (guid, entityObservable) {
        if (datacontext.manager.user.metadataStore.isEmpty()) {
            return datacontext.manager.user.metadataStore.fetchMetadata('breeze/user')
                .then(function () {
                    return datacontext.manager.user.fetchEntityByKey('User', guid, true)
                        .then(fetchSucceeded)
                        .fail(queryFailed);
                });
        } else {
            return datacontext.manager.user.fetchEntityByKey('User', guid, true)
                        .then(fetchSucceeded)
                        .fail(queryFailed);
        }

        function fetchSucceeded(data) {
            var entity = data.entity;
            if (ko.isWriteableObservable(entityObservable))
                entityObservable(entity);
            return entity;
        }

        function queryFailed(error) {
            logger.error(error);
        }
    };
注意额外的检查以验证元数据存储是否准备就绪?由于我正在调用fetch,所以我假设此检查将在内部进行,但由于某些原因,它不是

我的代码运行良好,有以下“变通办法”,但我希望将其公诸于众。

于2014年3月1日更新 从Breeze 1.4.9(或更高版本)开始,此问题现已修复

以前的职位 我认为你是对的。我认为问题在于,当您告诉fetchEntityByKey首先搜索本地缓存时,它实际上不必执行提取。但是在这种情况下,如果您没有元数据,那么localQuery将失败。我将尝试在下一版本中修复此问题,可能在本周晚些时候发布