hinzugefügt Module Pattern, await und async Funtionen, verwendet json placeholder API

This commit is contained in:
David 2022-11-15 19:11:13 +01:00
parent 1ee4cd646c
commit 8eb52fb8ef
4 changed files with 63 additions and 1 deletions

View File

@ -0,0 +1,26 @@
import "./shoppingCart.js";
// console.log("Start fetching");
// const response = await fetch("https://jsonplaceholder.typicode.com/posts");
// const data = await response.json();
// console.log(data);
// console.log("Something");
const getLastPost = async function () {
const response = await fetch("https://jsonplaceholder.typicode.com/posts");
const data = await response.json();
console.log(data);
return { title: data.at(-1).title, text: data.at(-1).body };
};
const lastPost = getLastPost();
console.log(lastPost);
lastPost.then(function (last) {
console.log(last);
});
const lastPost2 = await getLastPost();
console.log(lastPost2);

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<script defer type="module" src="script.js"></script>
<script defer type="module" src="modulePattern.js"></script>
<title>Modern JavaScript Development: Modules and Tooling</title>
<style>
body {

View File

@ -0,0 +1,33 @@
const ShoppingCard2 = (function () {
// solche function wird automatisch ausgeführt und die Eigenschaften/Werte werden eingestellt
//und werden in die Variable ShoppingCard2 als Object gespeichert
const cart = [];
const shippingCost = 10;
const totalPrice = 235;
const totalQuantitiy = 5;
const addToCart = function (product, quantity) {
cart.push({ product, quantity });
console.log(`${product}, ${quantity} added to cart`);
};
const orderStock = function (product, quantity) {
cart.push({ product, quantity });
console.log(`${product}, ${quantity} ordered from supplier`);
};
return {
// die Funktion gibt die eingestellten Werte zurück
cart,
totalPrice,
totalQuantitiy,
addToCart,
};
})();
// aus der Crome Console ist das Objekt ShoppingCart2 nicht sichtbar, weil alle Eigenschaten in Modulen privat sind,
// dort griffen zum Eigenschaften mit globalen Zugriff zu, aus diesem Grund sind solchen Daten unzugänglich
ShoppingCard2.addToCart("apfel", 5);
ShoppingCard2.addToCart("heidelbeeren", 1);
console.log(ShoppingCard2);
console.log(ShoppingCard2.shippingCost); // undefined

View File

@ -1,6 +1,9 @@
console.log("Exporting Module");
const shippingCost = 10;
const cart = [];
console.log("Start fetching users");
await fetch("https://jsonplaceholder.typicode.com/users");
console.log("Finish fetching users");
const addToCart = function (product, quantity) {
cart.push({ product, quantity });