From 74d21019718b1726ba0bfdded2b0cf312010f855 Mon Sep 17 00:00:00 2001 From: denis Date: Thu, 18 Dec 2025 07:32:35 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A6=D0=B8=D0=BA=D0=BB=D0=B8=D1=87=D0=B5?= =?UTF-8?q?=D1=81=D0=BA=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/ajax/loop_ajax.js | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 js/ajax/loop_ajax.js diff --git a/js/ajax/loop_ajax.js b/js/ajax/loop_ajax.js new file mode 100644 index 0000000..51ff0c7 --- /dev/null +++ b/js/ajax/loop_ajax.js @@ -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() \ No newline at end of file