Показать сообщение отдельно
  #4 (permalink)  
Старый 13.03.2013, 01:23
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

Сообщение от dmit.medv Посмотреть сообщение
"Требуется обращаться через ajax к файлу delete1.php до тех пор пока он не вернет "done"."

Изначально файл delete1.php был очень нагружен, и в связи с ограничением времени исполнения скрипта пришла мысль делать однократные запросы (задача позволяет это сделать), чтобы уменьшить обойти это ограничение. Обойти получилось, но вот рекурсия мне не нравится.

*пришла мысль избавиться от рекурсии с помощью дополнительной функции, если получится, выложу результат.
сомневаюсь, что твоя функция будет кому либо полезна

Ты в курсе, что ты создал рекурсию, и хочешь от нее избавиться?, тогда твоя функция потеряет смысл
все просто. Оставляем рекурсию, но с таймером.
Таймер можно в любой момент оборвать.
А так, на будущее, если будешь заниматься этим серьезно: пулинг, это плохой вариант.


Все должно работать
function goCreatePackagePassports() {
    $.ajax({
      type: "POST",
      url: "delete1.php",
      data: "name=John&location=Boston",
      success: function(msg) {  // обработка ответа
        $('#status').append(msg + '<br />');
        if (msg == 'done'){
         return;
        } else {
         recurs = setTimeout(goCreatePackagePassports, 1000); 
      }
    });
    return;
}
Ответить с цитированием