Время ожидания апи запроса
Мне нужно, чтобы апи поочередно, например, с интервалом в 20 секунд запрашивалось, может быть больше постов в одной ссылке. Как мне это организовать?
//ссылки
var firsturl = 'https://jsonplaceholder.typicode.com/todos/1';
var secondurl ='https://jsonplaceholder.typicode.com/posts/1/';
var status = function (response) {
if (response.status !== 200) { // если все ок (код 200)
return Promise.reject(new Error(response.statusText));
}
return Promise.resolve(response);
};
var json = function (response) {
return response.json();
};
//функция, вызывающая fetch
async function hi(){
try{
let url1 = firsturl;
let url2 = secondurl;
fetching(url1);
fetching(url2);
}
catch(err){
console.log(err);
}
}
hi();
function fetching(url){
fetch(url)
.then(status)
.then(json)
.then(function (data) {
console.log(data);
})
.catch(function (error) {
console.log('error', error); // если есть какие-то ошибки
});
}
Ответы (1 шт):
Автор решения: BigTows
→ Ссылка
Если я правильно вас понял, то....
Перенесем необходимые ссылки, для проверки, в массив, тогда:
let urls = [
'https://jsonplaceholder.typicode.com/todos/1',
'https://jsonplaceholder.typicode.com/posts/1/'
]; // Это хранилище ссылок.
var index = 0; //Индекс текущей ссылки
//Далее берем этот массив и проходимся по нему.
var idInterval = setInterval(processUrl, 20 * 1000);
function processUrl (){
if (urls[index] === undefined){
//Если ссылки закончились
clearInterval(idInterval);
return;
}
let url = urls[index];
fetching(url);//Тут у нас запрос
index++;
}