Циклические запросы

This commit is contained in:
2025-12-18 07:32:35 +00:00
parent 2ba7e26446
commit 74d2101971

61
js/ajax/loop_ajax.js Normal file
View File

@@ -0,0 +1,61 @@
/**
* Цикличная функция запросов к серверу с ожиданием резуьтата
*
* П.С. код сырой, но рабочий. Надо подстрич и причесать
*/
// Функция асинхронного запроса. Ждем в ответе только JSON
async function requestJSON(url){
return await fetch(url).then((response)=>{
if (!response.ok){
throw new Error('Err::'+response.statusText)
}else{
headers = {}
response.headers.forEach((v,k)=>headers[k]=v)
if(headers){
if (headers['content-type'] == "application/json"){
return response.json()
}else{
alert('Err::Ответ не в формате JSON\n('+headers['content-type']+')')
throw new Error('Err::Ответ не в формате JSON')
}
}
}
})
}
// Функция запроса. Закускается, пока длина массива > 0
async function respnos(){
data = await requestJSON("http://uurl")
if(data.length){
getDataResurs(data)
}
all.innerHTML=data.length
}
// Функция обработки запроса и ответа
async function getDataResurs(data){
if (data.length < 2713){
dd = await requestJSON("http://uurl")
}
data.shift();
if(data.length>0){
console.log(data.length)
return getPekRaschet(data)
}
}
// Первый запуск
respnos()