Javascript 如何合并来自foursquare的两个请求?

Javascript 如何合并来自foursquare的两个请求?,javascript,jquery,ajax,foursquare,Javascript,Jquery,Ajax,Foursquare,这里有一个使用FourSquare API的新手。我不确定我是否做得正确,但我需要从搜索中提取数据。但是,除此之外,我还想了解更多关于每个场馆的详细信息,如运营时间和场馆的其他详细信息,除了一般联系人和名称。我所做的是在搜索api中嵌套一个ajax调用,然后在搜索场地内执行另一个场地详细信息搜索 $.when( $.ajax({ url: "https://api.foursquare.com/v2/venues/search?limit=4&"+$this.settings

这里有一个使用FourSquare API的新手。我不确定我是否做得正确,但我需要从搜索中提取数据。但是,除此之外,我还想了解更多关于每个场馆的详细信息,如运营时间和场馆的其他详细信息,除了一般联系人和名称。我所做的是在搜索api中嵌套一个ajax调用,然后在搜索场地内执行另一个场地详细信息搜索

$.when(
  $.ajax({
    url: "https://api.foursquare.com/v2/venues/search?limit=4&"+$this.settings.key+"&ll="+$this.currentLocation.coord+"&intent=checkin",
    data: inputData,
    dataType: "json",
    success: function(res, req) {
      var data = res.response.venues;
      $('.results').find('.loading').addClass('hide');
      $.each(data, function(index, venue) {
        return $.ajax({
          url: "https://api.foursquare.com/v2/venues/"+venue.id+"?"+$this.settings.key,
          dataType: 'json',
          success: function(res, req) {
            data[index].details = detail = res.response.venue;
          }
        });
      });
    }
  })
).then(function(data) {
  var results = data.response.venues;
  console.log(JSON.stringify(results));
});
任何帮助都将不胜感激,谢谢

使用


查看Javascript库。将场馆ID数组作为第一个参数传递到async.each中,这将帮助您开始。瀑布还可以帮助您处理需要将数据从一个异步函数传递到下一个异步函数的情况

您的返回将只返回$each的第一个循环。我不确定您是否可以像这样返回$.ajax。您应该在第二次Ajax调用后返回数据变量。Hi@murali,第二个请求取决于对结果数组的第一个请求。我似乎无法从这个答案中得到我所需要的。
var request1 = $.get(...);
var request2 = $.get(...);

$.when(request1 , request2 ).done(function() {
    // when both are completed
});