我有以下代码从不同的新闻网址获取新闻;function displayNews() { Promise.all([fetch(BUSINESS_NEWS_URL), fetch(APPLE_NEWS_URL)]) .then(responses => { return responses.map(response => response.json()) }).then((data) => console.log(data)) // this still prints [Promise]}出于某种原因,我得到显示 [Promise] 而不是实际数据。我错过了什么?
2 回答
Helenr
TA贡献1780条经验 获得超3个赞
json() 返回一个承诺,所以它会是另一个 Promise.all
Promise.all([fetch(u1), fetch(u2)])
.then(responses => {
return Promise.all(responses.map(response => response.json()))
}).then((data) => console.log(data))
大多数人不会使用两个promise alls。他们将通过 fetch 调用返回 JSON
const grabJSON = url => fetch(url).then(x => x.json())
const calls = ['url1', 'url2'].map(grabJSON)
Promise.all(calls)
.then((data) => console.log(data))
添加回答
举报
0/150
提交
取消