Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
breeze似乎会在每个查询中加载元数据_Breeze - Fatal编程技术网

breeze似乎会在每个查询中加载元数据

breeze似乎会在每个查询中加载元数据,breeze,Breeze,考虑下面的代码片段。。。下面的executeQuery两次都调用了WebApi控制器元数据方法。。。为什么? 谢谢, 特拉维斯 Breeze在每次查询之前检查给定服务的客户机上是否存在元数据。如果元数据不存在,那么它将在执行查询之前请求元数据 我猜想在您的情况下,两个查询都是在其中一个返回元数据之前开始的。这将导致多次获取元数据。然而,一旦它真的写下来,你就不应该看到任何进一步的请求 一个建议是在任何查询之前强制加载元数据,即 manager.fetchMetadata().then(fun

考虑下面的代码片段。。。下面的executeQuery两次都调用了WebApi控制器元数据方法。。。为什么?

谢谢, 特拉维斯


Breeze在每次查询之前检查给定服务的客户机上是否存在元数据。如果元数据不存在,那么它将在执行查询之前请求元数据

我猜想在您的情况下,两个查询都是在其中一个返回元数据之前开始的。这将导致多次获取元数据。然而,一旦它真的写下来,你就不应该看到任何进一步的请求

一个建议是在任何查询之前强制加载元数据,即

  manager.fetchMetadata().then(function() {
    manager.executeQuery(query1);

    manager.executeQuery(query2);
  }

谢谢Jay,我在代码中使用了fetchMetadata来创建manager单例。。。它现在返回一个承诺,等待元数据加载完成。一切都很好!
  manager.fetchMetadata().then(function() {
    manager.executeQuery(query1);

    manager.executeQuery(query2);
  }