Javacript таймаут в запросе

242
27 февраля 2017, 14:01

Нужно реализовать таймаут в 1 секунду в цикле. Пробовал через setTimeout, но не пошло

   for(i=0;i<ln.length;i++)
    {
    // Здесь нужен таймаут в 1 секунду 
    var req="https://api.exmpent.com/?user = ln[i]"
    $.ajax({
        url : req,
        type : "GET",
        dataType : "jsonp",
        success : function(msg){
        console.log(msg.response);
        }
    });
    }
Answer 1

если необходимо отправить N ajax-запросов с некоторым интервалом, то вы вполне можете воспользоваться функция setInterval() и завершить ее выполнение с помощью clearInterval() по достижению нужного числа итераций.

var idx = 0;   
var iid = null; 
 
function doSomething(){ 
    $("<li>").text("$.ajax(): " + idx++).appendTo("ul");     // отправить $.post/$.get 
     
    if(idx == 20){   // конец цикла 
        clearInterval(iid); 
    } 
} 
 
 
iid = setInterval(doSomething, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul></ul>

READ ALSO
Достать или считать? js - setInterval

Достать или считать? js - setInterval

Есть ли способ узнать количество итераций функции setInterval без использования дополнительной переменной?

228
Вычитание дат и времени в Js

Вычитание дат и времени в Js

Есть такая задача: есть определенная дата, например 2502

414