const el = document.querySelector('#ele'); function parse(data) { return new Promise((resolve, reject) => { const name = data.name; if (!name || !['Jan', 'Zuzia', 'Jakub'].includes(name)) { reject(new Error('Invalid name in JSON')); } else { resolve(name); } }); } function delay(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } function f1 (url='./data/data.json') { return fetch (url) .then( (res) => { if (!res.ok) { throw new Error(`HTTP error! status: ${res.status}`); } return res.json(); }) .then ( (data) => { return parse(data); // el.textContent = parse(data); console.log ("ok"); }) .then((name) => { // Dodajemy opóźnienie przed aktualizacją treści elementu return delay(5000).then(() => name); // Opóźnienie 2 sekundy }) .then ((name)=>{ console.log("5s"); el.textContent = name; }) .catch(error => { console.error('Error http request or parsing JSON:', error); }); } f1()