Breezejs“;对象不是函数;导致;未捕获错误:此查询没有可用的元数据";-当我试图使我的数据成为主要数据时

Breezejs“;对象不是函数;导致;未捕获错误:此查询没有可用的元数据";-当我试图使我的数据成为主要数据时,breeze,hottowel,Breeze,Hottowel,我正在使用breezejs在VS2012中使用Hottown SPA开发一个演示应用程序。 错误“uncaughterror:没有可用于此查询的元数据”并不总是发生,但有时在我尝试初始化数据(我在初始页面加载时调用Prime方法,这基本上是一个简单的查询)以进行查询时会发生。有时应用程序加载失败并给出错误,但另一方面它并没有失败——它可以工作 这是密码 function primeData() { var promise = Q.all([ getLookups

我正在使用breezejs在VS2012中使用Hottown SPA开发一个演示应用程序。 错误“uncaughterror:没有可用于此查询的元数据”并不总是发生,但有时在我尝试初始化数据(我在初始页面加载时调用Prime方法,这基本上是一个简单的查询)以进行查询时会发生。有时应用程序加载失败并给出错误,但另一方面它并没有失败——它可以工作

这是密码

 function primeData() {
        var promise = Q.all([
        getLookups(),
        getAllContactDetails(null, true)])
           .then(applyValidators);

        return promise.then(success);

        function success() {

            datacontext.lookups = {

                       // code to populate lookups 
            };
            log('Primed data', datacontext.lookups);

        }

        function applyValidators() {
            model.applyJobValidators(manager);
        }

    }
上述函数给出以下错误

“TypeError:对象不是函数↵ 在querySu…lush()”,消息:“对象不是函数”}消息:“对象不是函数”堆栈:(…)获取堆栈:函数(){[本机代码]}设置堆栈:函数(){[本机代码]}{uuuuuu协议:错误“

这导致我的应用程序无法正常工作,有人能告诉我,我在制作data prime时犯了什么小错误,这迫使我的应用程序出现错误

function getLookups() {

        var abc = EntityQuery.from('Lookups');

        return manager.executeQuery(abc)
            .fail(queryFailed1);
    }
    function queryFailed1()
    {
        //logError
    }
var getAllContactDetails=函数(contactObservable,forceRemote){


显然,错误消息来自Q库,这意味着您在
getLookups
getAllContactDetails
中有错误。您可能想发布这两个的代码。现在检查我复制了剩余的代码,这里我面临的是,如果我加载的是另一个视图而不是主视图,那么元数据将在nd虽然它的可用主页可以工作并获取我所需的所有内容,但如果我尝试直接加载主页,它不会显示元数据错误。是否有任何函数可以代替“Q.all”来使用,而“Q.all”实际上可以等待我的元数据被填充。至于错误,您将
null
传递给
contactObservable
。如果您没有传递任何内容,您希望它如何作为函数接收数据??对于元数据错误,这取决于您调用
primeData
函数的位置?谢谢@Adel Sal,我确实使用了一个临时可观察变量,一些错误是固定的,但有时我仍然会得到“未捕获错误:此查询没有可用的元数据”。
        if (!forceRemote) {
            var s = getLocal('Contact_Details');
            if (s.length > 3) {
               // s.pop();
                contactObservable(s);
                debugger;
                return Q.resolve();
            }
        }
        var query = EntityQuery.from('Details');
        debugger;
        return manager.executeQuery(query)
                    .then(querySucceeded)
                    .fail(queryFailed2);

        function queryFailed2() {
         //   log
        }


        function querySucceeded(data) {

            contactObservable(data.results);

            toastr.success("Contacts loaded!")

            log('Retrieved [' + entityNames.detail + '] from remote data source',
                data, true);


        }
    };