Javascript 在一个函数中获取多个JSON文件
JSON链接的结构如下: www.something.com/link-number-rest-of-the-link.com.json 现在我需要得到几个JSON链接文件,唯一改变的是上面链接中的数字部分。假设它在10到40之间,第一个看起来像这样: www.something.com/link-10-rest-of-the-link.json 第二个看起来像这样 www.something.com/link-11-rest-of-the-link.com.json 一直到第40位 有没有一种方法可以在一个函数中实现所有功能。我试过这个:Javascript 在一个函数中获取多个JSON文件,javascript,jquery,angularjs,json,jsonp,Javascript,Jquery,Angularjs,Json,Jsonp,JSON链接的结构如下: www.something.com/link-number-rest-of-the-link.com.json 现在我需要得到几个JSON链接文件,唯一改变的是上面链接中的数字部分。假设它在10到40之间,第一个看起来像这样: www.something.com/link-10-rest-of-the-link.json 第二个看起来像这样 www.something.com/link-11-rest-of-the-link.com.json 一直到第40位 有没有一种
var nmr = function({for(nmr=10;nmr<40;nmr++)});
var json = 'www.something.com/link'+nmr+'rest-of-the-link.json';
var nmr=function({for(nmr=10;nmr概念
- 生成承诺数组,这些承诺将从url调用每个json文件
- 同时履行每个承诺
样本
const Promise = require('bluebird')
const rp = require('request-promise')
function getJsonFromUrlParam(num) {
const uri = `www.something.com/link-${num}-rest-of-the-link.json`
return rp({ method: 'GET', uri, json: true })
}
/** declare param */
const params = []
for (let i = 10; i <= 40; i++) {
/** get each promise param */
params.push(getJsonFromUrlParam(i))
}
/** get each json file in the same time */
Promise.all(params)
.then(result => {
/** get result here
* result is array of json files
*/
console.log(result)
})
const Promise=require('bluebird'))
const rp=require('request-promise')
函数getJsonFromUrlParam(num){
constURI=`www.something.com/link-${num}-rest-of-the-link.json`
返回rp({method'GET',uri,json:true})
}
/**声明参数*/
常量参数=[]
for(设i=10;i{
/**在这里得到结果
*结果是json文件数组
*/
console.log(结果)
})
像这样试试
var json = [];
for(var i = 10; i <= 40; i++) {
json.push('www.something.com/link-'+i+'-rest-of-the-link.json');
}
var json=[];
对于(var i=10;i您可以像这样构建数组
var links = [];
for(var i=2005;i<2015.length;i++){
links.push('http://www.link.com/an-'+i+'-rest');
}
//now make your request for each link
是的,您可以在一个对象中聚合多个调用的结果:对于给定范围内的每个数字,进行调用并将响应添加到一个数组中,然后返回。您如何神奇地直接从URL获取json?请提供示例。谢谢。@madalin,edited.@tholo您编辑了什么,您的ajax请求在哪里?我们如何做到这一点在v1中?
var requested = 0;
function startLoading(){
if(requested==2015) {
return alert("all files loaded");
}
makeRequest('http://www.link.com/an-'+requested+'-rest');
}
function makeRequest(url){
//the body of request
//then
//if response is ready make what you want for it and go next
requested++;
startLoading();
// and startLoading(); to go to the next link
}
startLoading(); //start