[英]How to access data in resolved Promise in JavaScript?
我第一次使用承諾。 我想從 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))
傳遞給Promise.all
時, requests
數組不應位於另一個數組內
let requests = urls.map(url => axios.get(url));
Promise.all(requests)
.then(res => res.map(response => console.log(response));
您的數據應該已經作為then
回調中的一個數組出現:
var promises = [ new Promise((resolve, reject) => { setTimeout(() => resolve("Hello"), 1000);}), new Promise((resolve, reject) => { setTimeout(() => resolve("world !"), 1500);}) ]; Promise .all(promises) .then(results => { let mergedResults = results[0] + " " + results[1]; console.log(mergedResults); document.body.innerHTML = mergedResults; });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.