Javascript 在一个函数中获取多个JSON文件

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位 有没有一种

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