javascript - 等待所有响应,然后调用函数

标签 javascript api promise fetch

我有多个 URL 可以从中调用数据,我想在它们全部响应并收到数据后调用一个函数。

var promises = urls.map(url => fetch(url));

Promise.all(promises).then(response => {
 for (var i = 0; i < response.length; i++) {
  response[i].json().then(data => { dataReceived.push(data.rows)})
 }
 }).then(dataReceived=> {

  doThisFucntion(withAllTheData);

 });

我确定我只需要添加另一个 promise.all() 但我不知道在哪里做。

谢谢

最佳答案

可能是这样的:

var promises = urls.map(url => fetch(url));

Promise.all(promises)
  .then(response => Promise.all(response.map(resp=>resp.json())))
  .then(data=>data.map(element=>element.rows))
  .then(dataReceived=> {    
    doThisFucntion(withAllTheData);
  });

关于javascript - 等待所有响应,然后调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48940052/

相关文章:

android - 如何在我的应用程序中添加更多权限/事件?

javascript - promise 的顺序和并行处理

javascript - 如何同步运行嵌套的异步方法?

javascript - javascript如何将对象属性名称管理为动态更改的对象?

javascript - 不同功能的 Mocha 测试用例

javascript - 带按钮的多行图像 slider

Javascript 直接使用函数和使用从另一个函数返回的函数

ruby-on-rails - 当您的数据库架构发生变化时处理旧版本移动应用程序的正确方法

c# - 通过 C# 代码打开 Sparx EA 项目打开新项目对话框

javascript - 无法将全局变量设置为等于 Promise 返回的值