有没有办法在循环中使用jQuery的延迟/ promise / when / then功能进行多个ajax调用?

时间:2011-12-24 09:09:12

标签: jquery loops jquery-deferred promise

我一直在阅读较新的jQuery功能Deferred / promise / when / then如何用于简化对多个异步事件(如AJAX查询)的操作

但是我一直在阅读的所有例子都谈到了事先已知的一定数量的查询。

$.when($.ajax("/page1.php"), $.ajax("/page2.php")).then(myFunc, myFailure);

(借鉴Coding Freak's answer here

如果您事先不知道它们,例如在具有不同参数的循环中调用相同的分页Web API,例如MediaWiki和StackExchange API的某些功能 - 有什么办法可以使用在这种情况下,这些较新的jQuery功能还是我们必须回到原来的方式?

1 个答案:

答案 0 :(得分:-3)

您可以调用类似ajaxloop('/ page1.php')

的函数
function ajaxloop(url)
{
    $.ajax({
            url:url,
            success:function()
                       {
                     if(url=='/page1.php')
                      {
                       ajaxloop('/page2.php')
                      }
                     else
                     {
                      ajaxloop('/page1.php')
                       }
                 }
     });
}