На данный вопрос уже ответили:
Допустим есть объект url адресов, нужно циклично по ним пройтись, но нужно ждать пока не пришел ответ в предыдущего, с интервалом 5 секунд
<button>Запустить</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var urls = {
1: {url: 'https://google.com/'},
2: {url: 'https://yandex.com/'},
3: {url: 'https://yahoo.com/'}
};
function getUrl(){
$.each(urls, function(i, elem){
$.ajax({
url: elem.url,
beforeSend: function(){
console.log('Получение ответа от: '+ elem.url +' ...');
}
})
.always(function(data){
console.log('Получен ответ от: '+ elem.url);
});
setTimeout(function(){}, 5000);
});
}
$("button").on('click', function(){
getUrl();
});
});
</script>
Должно быть так
Получение ответа от: https://google.com/ ...
Получен ответ от: https://google.com/
// ждем 5 секунд
Получение ответа от: https://yandex.com/ ...
Получен ответ от: https://yandex.com/
// ждем 5 секунд
Получение ответа от: https://yahoo.com/ ...
Получен ответ от: https://yahoo.com/
А выводит это все сразу, нет ожидания 5 секунд:
Получение ответа от: https://google.com/ ...
Получение ответа от: https://yandex.com/ ...
Получение ответа от: https://yahoo.com/ ...
Получен ответ от: https://google.com/
Получен ответ от: https://yandex.com/
Получен ответ от: https://yahoo.com/
<button>Запустить</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var urls = {
1: { url: 'https://google.com/' },
2: { url: 'https://yandex.com/' },
3: { url: 'https://yahoo.com/' }
};
function getUrls() {
var keys = Object.keys(urls);
getOneUrl(0);
function getOneUrl(index) {
$.ajax({
url: urls[keys[index]].url,
beforeSend: function() {
console.log('Получение ответа от: ' + urls[keys[index]].url + ' ...');
}
})
.always(function(data) {
console.log('Получен ответ от: ' + urls[keys[index]].url);
if (index < keys.length - 1) {
console.log("ждем 5 секунд");
setTimeout(getOneUrl, 5000, index + 1);
}
});
}
}
$("button").on('click', function() {
getUrls();
});
});
</script>
<button>Запустить</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var urls = {
1: { url: 'https://google.com/' },
2: { url: 'https://yandex.com/' },
3: { url: 'https://yahoo.com/' }
};
var size = Object.keys(urls).length;
function getUrl(){
$.each(urls, function(i, elem){
setTimeout(function(){
$.ajax({
url: elem.url,
beforeSend: function(){
console.log('Получение ответа от: '+ elem.url +' ...');
}
})
.always(function(data){
console.log('Получен ответ от: '+ elem.url);
if (i < size)
console.log("ждем 5 секунд");
else
console.log("Конец");
});
}, 5000*(i-1));
});
}
$("button").on('click', function() {
getUrl();
});
});
</script>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Имеется изображение фона 50 на 50 px и холст размером 500 на 500, нужно изображениями фона заполнить весь холстКак это сделать?
Нужна помощь в выборе книги, по которой можно (если это возможно) изучить front-end часть веб-программированияВ идеале в объеме, позволяющем претендовать...
есть такая модель https://pastebincom/i01Pw1Un и есть такой запрос https://pastebin