Files
blanks/js/ajax/loop_ajax.js

61 lines
1.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Цикличная функция запросов к серверу с ожиданием резуьтата
*
* П.С. код сырой, но рабочий. Надо подстрич и причесать
*/
// Функция асинхронного запроса. Ждем в ответе только 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()