javascript - Angular 5等待 promise 从for循环返回

标签 javascript angular promise

我有如下数组:

arr = ['res1', 'res2', 'res3'];

然后对于每个 arr 值,我将执行一个将返回 promise 的 API 调用

arr.forEach(val => this.getPromise(val));

getPromise 方法返回一个 promise 。 在我调用另一个方法之前,我需要等待所有的 promise 。我应该怎么做?

最佳答案

您可以使用 Promise.all()在所有 promise 都解决后执行操作。它需要一系列 promise :

const promises = ["val1", "val2"].map(val => this.getPromise(val));

Promise.all(promises)
    .then(results => console.log(results)) // this is an array
    .catch(err => console.log(err));

您可以像使用 promise 一样使用 then() 和 catch()。响应是一组解析值。

希望对您有所帮助!

关于javascript - Angular 5等待 promise 从for循环返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52509208/

相关文章:

javascript - dropzone.js 和 jquery 版本兼容性

javascript - HTML/JS/在一个选项卡中花费的时间

angular - 是否可以在不触发响应式表单控件上的 valueChanges 的情况下触发 statusChanges?

javascript - 使用 .finally() 时,Angular 1.6.1 "Possibly unhandled rejection"

javascript - 具有多个值的 Promise.map

javascript - 如何在 jQuery Mobile 中正确分隔页面?

angular - @angular/cdk/collections DataSource<T> 的断开连接方法未被调用

javascript - 使用 Lodash 对 Javascript 数组进行分组

javascript - 编辑 Promise 结果 (JavaScript)

javascript - componentDidCatch + window.addEventListener ('error' , cb) 行为不符合预期