微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 promise.all 中的值添加到数组

如何解决将 promise.all 中的值添加到数组

我正在使用 Promise.all 调用多个 api 调用并且能够接收它们的响应,但我想将它们添加到数组中

我的代码

async function asynchUploadGrpFiles(files) {
  var responseDetails = [];

  await Promise.all([get('https://httpbin.org/get?a=1'),get('https://httpbin.org/get?b=2'),get('https://httpbin.org/get?c=3')
  ]).then(values => {

    responseDetails.push(":::: time :::" + values);

    console.log(values);
  });

  console.log(responseDetails.toString());
}

我能够记录来自 console.log(values); 的响应,但这些响应没有被推送到 responseDetails

解决方法

这会起作用

const asynchUploadGrpFiles = async (files) => {
  const [data1,data2,data3] = await Promise.all([
    get('https://httpbin.org/get?a=1'),get('https://httpbin.org/get?b=2'),get('https://httpbin.org/get?c=3'),])
  const responseDetails = [...data1,...data2,...data3]
  console.log(responseDetails.toString())
}

然后调用函数

// Call it somewhere
await asynchUploadGrpFiles(files)
,

您在推送方法中使用了“+”号

responseDetails.push(":::: time :::" + values);

您需要以下输出 [ :::time:::,[{...你的对象..}] ]

替换你的代码再见 responseDetails.push(":::: time :::" , values); 代替

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。