javascript - 在AngularJS中对具有不同参数的同一个API函数进行多次异步调用
问题描述
考虑对同一 API 方法的 3 次调用。它们彼此独立。我怎样才能异步调用它们,以便一旦它们中的任何一个完成,我就可以对响应做一些事情,而不是等待其他的完成?寻找类似于 C# 中可用的 System.Threading.Tasks 的东西
var promise1 = $http.get("/api/city/boston");
promise1.success(function(name) {
console.log("Your city is: " + name);
});
var promise2 = $http.get("/api/city/newyork");
promise2.success(function(name) {
console.log("Your city is: " + name);
});
var promise3 = $http.get("/api/city/chicago");
promise3.success(function(name) {
console.log("Your city is: " + name);
});
解决方案
您的代码将不起作用。您的变量是 promise1、promise2、promise3。但是在解决时,您只使用了 promise.resolve。
其次,您应该使用 then 而不是 success。像下面
$http.get(url).then(function(response){
//do something with the response.
});
推荐阅读
- java - 启动 Android Studio 时出现 java.nio.file.AccessDeniedException 错误 + 奇怪的 iOS 行为
- java - Java:如何将两个 hocon 配置块合并为一个?
- sql - 如何从 2 个 ID 存储在 sql 表 3 中的两个表中获取名称
- wso2 - SP OIDC 自动生成的 client_id 可修改?租户之间不应该是可重复的吗
- python - 如何将 youtube 视频下载到 mp3,并按“时间戳”分割
- rest - Rocketchat REST api 回复特定消息
- java - 使用 @DataMongoTest 时未注入 MockMvc
- https - nestjs 配置 https.agent
- angular - 使用角度凭据成功登录后如何从登录导航到主页
- node.js - cors 不能在具有 express 的 firebase 功能中工作