From 6169650cbca5ce8dd614bb91c829428dd9a6e0aa Mon Sep 17 00:00:00 2001 From: miqlangelo Date: Tue, 6 May 2025 14:06:55 +0200 Subject: [PATCH] promises --- src/07-funktionsprogrammierung/promises.ts | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/07-funktionsprogrammierung/promises.ts diff --git a/src/07-funktionsprogrammierung/promises.ts b/src/07-funktionsprogrammierung/promises.ts new file mode 100644 index 0000000..54bff2c --- /dev/null +++ b/src/07-funktionsprogrammierung/promises.ts @@ -0,0 +1,43 @@ +const myPromise = new Promise((resolve, reject) => { + reject('unknown error'); + setTimeout(() => { + resolve(42); + }, 1000); +}); + +// myPromise +// .then((result) => { +// console.log(result); +// return result + 1; +// }) +// .then((data) => console.log('new data: ', data)) +// .catch((error) => console.error('Fehler: ', error)) +// .finally(() => console.log('Promise abgeschlossen')); + +async function fetchData() { + try { + const result = await myPromise; + console.log('Daten empfangen: ', result); + } catch (error) { + console.log('Fehler: ', error); + } +} + +fetchData(); + +const promise1 = new Promise((resolve) => setTimeout(() => resolve('A'), 1000)); +const promise2 = new Promise((resolve) => setTimeout(() => resolve('B'), 2000)); + +async function fetchAll() { + const results = await Promise.all([promise1, promise2]); + console.log(results); +} + +fetchAll(); + +async function fetchFirst() { + const result = await Promise.race([promise1, promise2]); + console.log('Fetch First: ', result); +} + +fetchFirst();