如何解决将 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 举报,一经查实,本站将立刻删除。