javascript - 如何在 JavaScript 中访问已解析的 Promise 中的数据?
问题描述
我第一次使用承诺。我想从 2 个不同的端点获取数据(数组)。以下是我到目前为止提出的代码。我的控制台输出显示[Promise, Promise]
两者都处于已解决状态。我也可以看到data
我需要的响应,但我不知道如何访问它们。如何从 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
const urls = ['/room/*/userconfig', '/room/*/observation/latest'];
let requests = urls.map(url => axios.get(url));
Promise.all([requests])
.then(res => res.map(response => console.log(response) // create 1 array and match roomId data))
解决方案
传递给时,该requests
数组不应位于另一个数组中Promise.all
let requests = urls.map(url => axios.get(url));
Promise.all(requests)
.then(res => res.map(response => console.log(response));
推荐阅读
- python - 如何在匹配前后匹配和创建字典
- python-3.x - 如何使用 Python 中的电子邮件模块从“应用程序/pkcs7-mime”中提取数据?
- python - 有没有更好的方法来忽略文件中的标题?
- ios - 如何在 swift 4.x 或 + 中更改警报操作标题颜色
- matlab - 从工作区输入 Simulink 错误
- javascript - Laravel + Vue.js + vuejs-datepicker,不能应用 typeable prop
- linux - 如何在 x86 程序集中循环中的数字后打印新行?
- java - 我有一个包含各种类的 src 文件夹,当我将这些类放入不同的包中时,从每个包中导入类不起作用
- python - Lasso 不收敛 & ElasticNet 使用所有系数
- node.js - 有没有更好的方法来编写接口?