![](https://wiki.supercombo.gg/images/2/2a/SSBM_Marth_Portrait.png)
@ Marth
2024-09-05 19:48:32
## Part 3: Asynchroni et DOM Manipulatio
### 3.1 Promissa et Async/Await
Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.
```javascript
function simulaRequest(data, probabilitasErroris = 0.1) {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (Math.random() < probabilitasErroris) {
reject("Error: Aliquid mali accidit");
} else {
resolve(`Data accepta: ${data}`);
}
}, 1000);
});
}
simulaRequest("Lorem ipsum")
.then((responsum) => console.log(responsum))
.catch((error) => console.error(error));
async function fetchData() {
try {
const responsum = await simulaRequest("Dolor sit amet");
console.log(responsum);
} catch (error) {
console.error(error);
}
}
fetchData();
```
### 3.2 DOM Manipulatio
Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.
```javascript
document.addEventListener("DOMContentLoaded", () => {
const titulus = document.createElement("h1");
titulus.textContent = "Lorem Ipsum JavaScript";
document.body.appendChild(titulus);
const paragraphus = document.createElement("p");
paragraphus.textContent = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...";
document.body.appendChild(paragraphus);
const button = document.createElement("button");
button.textContent = "Fac Clic Me";
button.addEventListener("click", () => {
alert("Gratias tibi ago pro clic!");
});
document.body.appendChild(button);
});
```
### 3.3 Fetch API
Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam.
```javascript
async function fetchLoremIpsum() {
try {
const responsum = await fetch("https://api.lorem.space/image/game?w=150&h=220");
if (!responsum.ok) {
throw new Error(`HTTP error! status: ${responsum.status}`);
}
const data = await responsum.blob();
const imago = document.createElement("img");
imago.src = URL.createObjectURL(data);
document.body.appendChild(imago);
} catch (error) {
console.error("Problema cum fetching imagine:", error);
}
}
fetchLoremIpsum();
```
### 3.4 Local Storage
Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim.
```javascript
function salvaPreferentias(clavis, valor) {
localStorage.setItem(clavis, JSON.stringify(valor));
}
function accipePreferentias(clavis) {
const valor = localStorage.getItem(clavis);
return valor ? JSON.parse(valor) : null;
}
const preferentiae = {
thema: "clarus",
lingua: "Latina",
notificationes: true
};
salvaPreferentias("userPrefs", preferentiae);
const salvataePreferentiae = accipePreferentias("userPrefs");
console.log(salvataePreferentiae);
```
### 3.5 Exercitia Parti III
1. Crea paginam web simplicem quae utitur fetch API ad exhibendum datos ex API publica.
2. Implementa functionalitatem "drag and drop" utens DOM API.
3. Construe applicationem "todo list" quae persistit datos in local storage.
## Conclusio
Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem. Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio.
Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.
Aenean lectus. Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum. Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.
Phasellus sit amet erat. Nulla tempus. Vivamus in felis eu sapien cursus vestibulum. Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem. Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy.
Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque. Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus. In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.
Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat. Curabitur gravida nisi at nibh. In hac habitasse platea dictumst. Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem. Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat. Praesent blandit. Nam nulla.