当前位置: 首页 > 面试题库 >

如何捆绑Angular $ http.get()调用?

花稳
2023-03-14
问题内容

我有一个控制器,需要检索两个单独的REST资源,该资源将填充两个下拉列表。我想避免在返回两个$
http.get()调用之前填充其中任何一个,以便下拉列表似乎是同时填充的,而不是一个接一个地滴入。

是否可以捆绑$ http.get()调用并为两个返回的数组优雅地设置$ scope变量,而不必为这两种情况编写状态逻辑,例如a在b之前返回,b在a之前返回?


问题答案:

调用Angular $ http函数的返回值是Promise使用$
q
的对象(受Kris
Kowal的Q
启发的承诺/延期实现)。

看一下$q.all(promises)方法文档:

在将所有输入的Promise解析后,将多个Promise合并为一个Promise。

参量

  • 承诺– {Array.<Promise>}–一系列承诺。

退货

{Promise}–返回将用值数组解析的单个promise,每个值对应于promise数组中同一索引处的promise。如果任何一项promises被拒绝解决,则产生的承诺将以相同的拒绝解决。

您可以使用$q.all类似于以下代码的“加入” http调用的结果:

app.controller("AppCtrl", function ($scope, $http, $q) {

  $q.all([
    $http.get('/someUrl1'),
    $http.get('/someUrl2')
  ]).then(function(results) {
     /* your logic here */
  });
}


 类似资料:
  • 问题内容: 我不确定将Angular Cli从SystemJs切换到Webpack后如何包括JS文件(供应商)。 例如 选项A 我有一些通过npm安装的js文件。 这样无法将脚本标签添加到head标签。似乎也不是最好的方法。 选项B 将这些js文件作为webpack捆绑包的一部分包含在内。这似乎是应该完成的方式。但是我不确定如何执行此操作,因为所有webpack代码似乎都隐藏在angular-cl

  • 我编写了一个定制的NiFi处理器,它使用一些Hadoop类,处理流文件,并在Avro之间序列化流文件。 处理器的pom.xml文件如下所示: 因为我已经将标记为,所以它不会绑定在生成的NAR文件中。现在,我可以做一个快速修复,完全删除作用域并创建NAR,但NiFi会抱怨next class not found错误。 我想知道:

  • 但程序没有启动。它显示了一个会立即消失的小对话框(看起来是空白的,但它消失得太快了,以至于我没有真正注意到它)。

  • 我对PrimeNG进行了培训,并创建了一个从json文件中获取数据的服务。https://www.primefaces.org/primeng/#/treetable 主要奇怪的是,在浏览器的network选项卡中,我没有看到任何试图访问这个json文件的get调用: 我尝试了其他方法来编写我的方法,就像IDE中的这个方法: 但是,在调用服务的组件方法中,我没有找到更改“then()”的方法,因为

  • 在本章中,您将学习如何在Aurelia框架中使用捆绑。 第1步 - 安装先决条件 您可以通过在command prompt运行以下命令来安装aurelia-bundler 。 C:\Users\username\Desktop\aureliaApp>npm install aurelia-bundler --save-dev 如果您没有安装gulp,可以通过运行此代码来安装它。 C:\Users

  • 我正在将我的spring-java项目转移到OSGi。 我有一些依赖项,这些依赖项在spring ebr repo或maven repo中不能作为包提供。处理它们的最佳方法是什么? null