javascript - AngularJS 中使用不同参数对同一 API 函数进行多次异步调用

标签 javascript angularjs asynchronous

考虑对同一 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.
 });

关于javascript - AngularJS 中使用不同参数对同一 API 函数进行多次异步调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58051546/

相关文章:

javascript - 在 Javascript 中检查表单验证的简单按钮

javascript - 为什么这个对象属性未定义?

javascript - Phantomjs page.content 未检索页面内容

javascript - 切换 ng-show 时,slideToggle 函数停止工作

angularjs - 使用 Bootstrap 3 在 AngularJS 中表示网格或表格的最佳方式?

c# - 为什么对 CPU 绑定(bind)任务使用 C# async/await

javascript - CSS/Javascript - 适用于较小屏幕的移动响应式菜单

angularjs - ADFS 3 OAuth 2 CORS 错误

python-3.x - celery 真的是异步的吗?

multithreading - 异步与多线程 - 有区别吗?