Javascript 如何获取代码提供的动态数据
我有下面的代码,可以从本地文件中获取数据Javascript 如何获取代码提供的动态数据,javascript,reactjs,react-native,dynamic,Javascript,Reactjs,React Native,Dynamic,我有下面的代码,可以从本地文件中获取数据 export function getData() { const promiseMSFT = fetch("http://localhost:8080/data.json") .then(response => response.json()) .then(data => { var tempData = []; for (var i = 0; i < data.
export function getData() {
const promiseMSFT = fetch("http://localhost:8080/data.json")
.then(response => response.json())
.then(data => {
var tempData = [];
for (var i = 0; i < data.length; i++) {
//some code
}
return tempData;
})
return promiseMSFT;
}
如何获得三个结果。urlArr=[site/test/1/data.json,site/test/2/data.json,site/test/3/data.json]
urlArr = [site/test/1/data.json, site/test/2/data.json, site/test/3/data.json]
export function getData(url) {
const promiseMSFT = fetch(url)
.then(response => response.json())
.then(data => {
var tempData = [];
for (var i = 0; i < data.length; i++) {
//some code
}
return tempData;
})
return promiseMSFT;
}
urlArr.forEach(url=>{getData("http://"+url)})
导出函数getData(url){
const promiseMSFT=fetch(url)
.then(response=>response.json())
。然后(数据=>{
var tempData=[];
对于(变量i=0;i{getData(“http://“+url”)})
更新@tung-yu的答案
export function getData(url) {
const promiseMSFT = fetch(url)
.then(response => response.json())
.then(data => {
var tempData = [];
for (var i = 0; i < data.length; i++) {
//some code
}
return tempData;
})
return promiseMSFT;
}
对于许多URL:
var urls = [url1,url2, ....];
var dataitems = [];
for(var i=0;i<urls.length;i++)
{
dataitems[i] = getData(url[i]);
}
var url=[url1,url2,…];
var数据项=[];
对于(var i=0;i您可以这样做:
export function getData(url) {
//if you have n urls
let URLS = []
let tempData = [];
for(int i=1;i<=n;i++){
url = `site/test/${i}/data`
URLS.push(url);
}
return Promise.all(
URLS.map(url =>
fetch(url)
.then(response => response.text())
.then(responseData => {
//push data to temp data here
})
.catch(err => /* handle errors here */ console.error(err))
)
).then(() => {// do stuff}, err => {// handle error})
}
导出函数getData(url){
//如果您有n个URL
让URL=[]
设tempData=[];
对于(int i=1;i
获取(url)
.then(response=>response.text())
.然后(响应数据=>{
//将数据推送到此处的临时数据
})
.catch(err=>/*在此处处理错误*/console.error(err))
)
)。然后(()=>{//do stuff},err=>{//handle error})
}
您的意思是从多个URL获取数据吗?我已经添加了我的答案John您的问题解决了吗?如果是,请接受解决问题的答案。感谢您的快速回复。但是,这如何与不同的url关联,因为im不使用单个url。请看我上面的评论。谢谢有趣的是,你能试着把它包含在你的答案中吗?这样我就可以把它标记为一个可接受的答案,因为我的问题是关于如何获取不同的/动态的url。谢谢,但我可能会尝试aravind_reddy的答案,因为我有数百个动态url。如果我硬编码每一个,这似乎不是一个好主意。因为我有数百个动态URL。那么您可以为此尝试一个循环,我假设您必须有一个URL数组:var URL=[url1,url2,…];var数据=[];对于(var i=0;i接受它是否起作用,或者对您面临的问题给出反馈
var urls = [url1,url2, ....];
var dataitems = [];
for(var i=0;i<urls.length;i++)
{
dataitems[i] = getData(url[i]);
}
export function getData(url) {
//if you have n urls
let URLS = []
let tempData = [];
for(int i=1;i<=n;i++){
url = `site/test/${i}/data`
URLS.push(url);
}
return Promise.all(
URLS.map(url =>
fetch(url)
.then(response => response.text())
.then(responseData => {
//push data to temp data here
})
.catch(err => /* handle errors here */ console.error(err))
)
).then(() => {// do stuff}, err => {// handle error})
}