Есть ли способ использовать функции отложенного / обещания / когда / затем jQuery для нескольких вызовов ajax в цикле? - PullRequest
2 голосов
/ 24 декабря 2011

Я читал, как новые функции jQuery Deferred / promise / when / then могут быть использованы для упрощения работы с несколькими асинхронными событиями, такими как запросы AJAX.

Новсе примеры, которые я читал, говорят о наборе заранее известных запросов.

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

(заимствовано из Ответ кодирования Freak здесь )

Как насчет того, когда вы не знаете их заранее, например, вызываете один и тот же постраничный веб-API в цикле с различными параметрами, например, некоторые функции API MediaWiki и StackExchange - есть ли способ?чтобы использовать эти новые функции jQuery в этом случае, или мы должны вернуться к старому способу?

1 Ответ

0 голосов
/ 24 декабря 2011

Вы можете вызвать такую ​​функцию, как ajaxloop ('/ page1.php')

function ajaxloop(url)
{
    $.ajax({
            url:url,
            success:function()
                       {
                     if(url=='/page1.php')
                      {
                       ajaxloop('/page2.php')
                      }
                     else
                     {
                      ajaxloop('/page1.php')
                       }
                 }
     });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...