<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input id="nick" type="text"><br> <input id="message" type="text"><br> <button id="button" type="button" onclick=sendAndCheck()>Отправить</button> <main id="main"></main> <script > function jsonPost (url, data){ return fetch(url, {method: 'POST',body: JSON.stringify(data)}) .then(result => { if (result.status === 200) { return result.json() } else { throw new Error('Error') } }).catch(error => {console.log(error)}) } function sendMessage(nick, message){ jsonPost("http://students.a-level.com.ua:10012", {func: 'addMessage', nick: nick, message: message}) } async function getMessages(){ let data= await jsonPost("http://students.a-level.com.ua:10012",{func: "getMessages", messageId: 0}) function update (data) { let dataRevers = data.data.reverse() document.getElementById("main").replaceChildren() for(let el of dataRevers){ let div = document.createElement('div') div.innerText= `${el.nick}: ${el.message}` document.getElementById('main').append(div) } } update(data) } getMessages() function sendAndCheck(){ sendMessage(document.getElementById("nick").value, document.getElementById("message").value) getMessages() } const delay = ms => new Promise(ok => setTimeout(() => ok(ms), ms)) async function checkLoop(){ while(true){ await delay(2000) getMessages() } } checkLoop() </script> </body> </html>