async/js/script.js
baiobelfer 9a85838e3f async
2025-04-02 14:45:04 +02:00

53 lines
1.2 KiB
JavaScript

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()