如何在JavaScript中访问数据?

如何在JavaScript中访问数据?,javascript,arrays,promise,Javascript,Arrays,Promise,我第一次与承诺一起工作。我想从两个不同的端点获取数据(数组)。下面是我到目前为止提出的代码。我的控制台输出显示[Promise,Promise]两者都处于已解决状态。 我还可以看到我需要的响应数据,但我不知道如何访问它们。如何从promise获取数据数组?多谢各位 控制台中的承诺输出 0: Promise [[PromiseStatus]]: "resolved" [[PromiseValue]]: "Object" data: {room 18: {...}, room 19: {...}

我第一次与承诺一起工作。我想从两个不同的端点获取数据(数组)。下面是我到目前为止提出的代码。我的控制台输出显示
[Promise,Promise]
两者都处于已解决状态。 我还可以看到我需要的响应
数据
,但我不知道如何访问它们。如何从promise获取数据数组?多谢各位

控制台中的承诺输出

0: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: "Object"
  data: {room 18: {...}, room 19: {...}, room20: {...}} // this is what I need 

1: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: "Object"
  data: {room 18: {...},  room 19: {...}, room20: {...}} // this is what I need

当传递给
Promise时,
请求
数组不应位于另一个数组中。all

let requests = urls.map(url => axios.get(url)); 

Promise.all(requests)
  .then(res => res.map(response =>  console.log(response));

当传递给
Promise时,
请求
数组不应位于另一个数组中。all

let requests = urls.map(url => axios.get(url)); 

Promise.all(requests)
  .then(res => res.map(response =>  console.log(response));

您的数据应该已经作为一个数组出现在
然后
回调中:

var承诺=[
新承诺((解析,拒绝)=>{setTimeout(()=>resolve(“Hello”),1000;}),
新承诺((解析,拒绝)=>{setTimeout(()=>resolve(“world!”),1500);})
];
允诺
.所有(承诺)
。然后(结果=>{
让mergedResults=结果[0]+“”+结果[1];
console.log(合并结果);
document.body.innerHTML=合并结果;

});您的数据应该已经作为一个数组出现在
然后
回调中:

var承诺=[
新承诺((解析,拒绝)=>{setTimeout(()=>resolve(“Hello”),1000;}),
新承诺((解析,拒绝)=>{setTimeout(()=>resolve(“world!”),1500);})
];
允诺
.所有(承诺)
。然后(结果=>{
让mergedResults=结果[0]+“”+结果[1];
console.log(合并结果);
document.body.innerHTML=合并结果;

});让我们从为什么将
请求
数组包装到另一个数组中开始
[]
->
[requests]
Promise.all
无论如何都会返回一系列响应。换句话说,
Promise.all(requests)
就足够了。让我们从为什么将您的
请求
数组包装到另一个数组
[]
->
[requests]
开始吧
Promise.all
返回一系列响应。换句话说,
Promise.all(请求)
就足够了。感谢您的评论。我会记住这一点,谢谢你的评论。它成功了,我会记住这一点。