【发布时间】:2018-03-11 14:37:20
【问题描述】:
我想从多个 url 获取 json 数据并将其显示在前端。 以下是网址:
1) 本地主机:3000/api/getdata1
2) 本地主机:3000/api/getdata2
3) 本地主机:3000/api/getdata3
而不是在每个网址上使用.fetch(),如下所示:
.fetch('localhost:3000/api/getdata1')
.fetch('localhost:3000/api/getdata2')
.fetch('localhost:3000/api/getdata3')
这可以在 ReactJs 中以更有效的方式完成吗?
我在尝试:
const dataurls = [
'localhost:3000/api/getdata1',
'localhost:3000/api/getdata2',
'localhost:3000/api/getdata3'
];
const promisedurl = dataurls.map(httpGet);
Promise.all(promisedurls)
.then(data=> {
for (const d of data) {
console.log(d);
}
})
.catch(reason => {
// Receives first rejection among the Promises
});
请建议应该使用哪一个,或者是否有任何有效的方法可以从多个 url 获取数据。
【问题讨论】:
-
我建议您制作一个新的 api,将所有 3 个请求的数据结合起来,然后将数据发送给您。
-
@YashThakur 其实我想从不同的 API 端点查询数据,例如:
localhost:3000/api/getdata3/search/query="searchterm"并显示出来。
标签: javascript reactjs promise