Asynchrone Programmierung in JavaScript in 80 Minuten // deutsch

  Рет қаралды 13,704

the native web GmbH

the native web GmbH

Күн бұрын

Пікірлер: 60
@orange-vlcybpd2
@orange-vlcybpd2 2 жыл бұрын
Es ist sehr angenehm dir zu folgen, weil du jeden Denkschritt kommentierst und konsequent vorgehst.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen lieben Dank 😊
@cgsman1
@cgsman1 2 жыл бұрын
Ja, in der Tat! Du erklärst sehr deutlich und umfassend - und dennoch ohne "Längen". Man ist dann hinterher selbst in der Lage, Deine Beispiele aus dem Gedächtnis nachzuprogrammieren - gerne noch mehr davon!
@schneider.mariane
@schneider.mariane 2 жыл бұрын
Über die Jahre hinweg bin ich durch Stack Overflow genau den hier skizzierten Weg gegangen. Ein Hochgenuss dies kompakt und gut strukturiert mit Background nachträglich erklärt zu bekommen. Danke.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Sehr gerne 😊
@kastenkarsten
@kastenkarsten 2 жыл бұрын
Absolut geniales und lehrreiches Video zu dem Thema und auch darüber hinaus. Echt sprachlos wieviel Wissen Du in knapp 80 Minuten verpackt hast :) vielen großen Dank dafür und beste Grüße.
@thenativeweb
@thenativeweb Жыл бұрын
[gr] Vielen, vielen Dank 😊
@wassagtmanndazu
@wassagtmanndazu 2 жыл бұрын
Danke!
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen, vielen Dank 🥰
@boothtml9069
@boothtml9069 2 жыл бұрын
Es ist so eine Bereicherung das es Euren Kanal gibt 💪.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen, vielen Dank 😊
@MarkusEicher70
@MarkusEicher70 2 жыл бұрын
Hallo Golo. Also jetzt mal ehrlich, das haut mich echt vom Hocker! Vielen Dank für dieses ausgezeichnete Video. Ich werde wohl inzwischen als absoluter Fanboy wahrgenommen, aber es ist eine wahre Freude, Deinen Ausführungen folgen zu dürfen. Der Weg von der Callback Hölle zu dem eleganten Code zum Schluss ist faszinierend und ich habe wirklich viel mitgenommen. Ich werde gleich mal meinen Deutsch sprechenden Community Mitgliedern wärmstens empfehlen, sich das anzusehen. Schönen Sonntag. Gruss aus der Schweiz.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen, vielen Dank - das freut mich sehr 😊
@wassagtmanndazu
@wassagtmanndazu 2 жыл бұрын
Super gut erklärt. Das beste Video das ich hierzu gesehen habe. Und so viel besser nachvollziehbar, als wenn das Thema in Textform erklärt wird. Ich habe einige Abläufe durch dein Video das erste mal richtig nachvollziehen können! Super vielen Dank!
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Das freut mich sehr, vielen, vielen Dank 😊
@ElrondMcBong86
@ElrondMcBong86 2 жыл бұрын
Mein Prof meinte ja mal (zu "callbacks in node.js"), das Video sei vieeel zu lang, als ich es einer Kommilitonin empfohlen hatte. Aber genauso ists echt super, weil wirklich alles genau und nachvollziehbar ist und praktisch jeder wirklich alles versteht! Auch, wenn man vielleicht Grundsätzliches schon verstanden hat und noch mehr Details verstehen will ist das super! bester Kanal! :)
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Das freut mich sehr, vielen Dank 😊
@figae2
@figae2 2 жыл бұрын
Genau das haben wir getan, ohne zu wissen was wir tun. Schön, dass wir nun unseren eigenen Code verstehen. Danke für dieses Video!
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Sehr gerne 😊
@martinhovekamp8315
@martinhovekamp8315 2 жыл бұрын
Das ist ja eine super Agenda fürs Video. Das wird sicher vielen JS Entwicklern weiterhelfen und als "Nachschlagewerk" dienen. Nach der ersten Zeile "Asynchrone Programmierung" hatte ich gedacht : Oh - jetzt kommt "mit Go" .. aber es ist noch "mit Golo und JavaScript. Aber gut, vielleicht gibt ja später mal eine "Go" Variante und werde ich allein schon auf die Gesamtlänge des Videos schauen.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Danke schön 😊
@christianhorauf9958
@christianhorauf9958 2 жыл бұрын
Sehr, sehr schöne Zusammenfassung. 👍Was man evtl. noch hätte erwähnen können, überschreitet aber womöglich den Einstiegscharakter dieses Videos, ist dass man auch heute u.U. nicht auf Promises verzichten kann. Nämlich dann, wenn man beispielsweise mehrere asynchrone Aufrufe abwarten muss und deren Ergebnise dann mit Promise.all eingesammet werden müssen. @Golo: Du hast ja in Deinen Videos über Go mehrfach darauf hingewiesen wie einfach asynchrone Verarbeitung mit go im Vergleich zu JS ist. Vielleicht wäre auch mal ein Vergleichsvideo interessant, wo man komplexere asynchrone UseCases mal mit JS und mit Go löst um diese Vorteile herauszustellen. Vielen Dank. 😀
@michaelrichter9408
@michaelrichter9408 2 жыл бұрын
Eine geniale Zusammenfassung von asynchronen coden in JavaScript. Vielen Dank.
@HolgerSchröder-g5c
@HolgerSchröder-g5c 8 ай бұрын
Du machst das ganz toll und ich kann dir stundenlang zuhören. Das einzige was mir Sorgen macht, ist der Inhalt der Blechdose, die du getrunken hast. Ist das ein Energydrink, quasi Zuckerwasser. Trink bitte Tee oder Wasser (gibt es auch mit Geschmack). Wir brauchen dich noch sehr lange!
@nazguhd4623
@nazguhd4623 Жыл бұрын
Hallo Golo, großartiges und sehr verständliches Video! Dankeschön!
@martinheinrich4394
@martinheinrich4394 Жыл бұрын
So eine tolle Einführung! Du machst das echt super! Vielen Dank und wieder so!
@thenativeweb
@thenativeweb Жыл бұрын
[gr] Vielen, vielen Dank 😊
@BariHeusken
@BariHeusken 2 жыл бұрын
Vielen Dank für das Video! Das war mal wirklich nötig für mein Verständnis. Das ganze wäre nur noch zu toppen durch eine Abwandlung für Typescript! Nochmals vielen Dank! Nun ist mir vieles klarer geworden.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Das freut mich sehr, vielen Dank 😊
@psychedelic-chi
@psychedelic-chi Жыл бұрын
Vielen lieben Dank für deine ausführlichen Erläuterungen zu dem Thema, ein sehr gutes Video!
@RonaldWBock
@RonaldWBock Жыл бұрын
War super lehrreich. Komplett mitprogrammiert und inhaltlich verstanden. Danke 😃
@thenativeweb
@thenativeweb Жыл бұрын
[gr] Sehr, sehr gerne 😊
@woife0705
@woife0705 2 жыл бұрын
Toller Überblick, danke dafür! Was ich mich an der Stelle frage, ob man wissen sollte/muss ob ein Callback nun synchron oder asynchron ausgeführt wird. Weil abhängig davon das Exception handling anders berücksichtigt werden muss(?) Außerdem habe ich mich gefragt, was so die best practices sind, wenn man eine Art Event handler implementiert (Man also eine Liste an registrierten Callbacks nacheinander aufruft). Darf ich die beim Auftreten des Events einfach in einer Schleife aufrufen, muss/sollte ich sie in einen try-catch wrappen, oder sollte ich sie sogar per process.nextTick erstmal in die Queue werfen? Fragen über Fragen 😅
@winstonmisha
@winstonmisha 2 жыл бұрын
Sehr informatives Video! Habe viel gelernt.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Das freut mich, vielen Dank 😊
@mediainside4726
@mediainside4726 2 жыл бұрын
Hallo Golo, wieder eine sehr fundierte und verständlichen Herleitung der Problematik zur asynchronen Programmierung mit JavaScript. Super und ganz herzlichern Dank. Wie auch die anderen Tutorials, werde ich es meinen Studenten weiter empfehlen. Wir experimentieren sehr mit der React-Bibliothek. Vielleicht hast du ja auch mal Zeit und Lust über deren Grundbausteine wie useState, useEffect, useRef, useLayoutEffect, useCallback ein aktuelles Video zu produzieren!?
@michaelrichter9408
@michaelrichter9408 2 жыл бұрын
Geniale Zusammenfassung, Vielen Dank.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen lieben Dank 😊
@nasenbar5417
@nasenbar5417 2 жыл бұрын
Sehr starkes Video, ich wollte hier mal trotz meines unseriösen Namens fragen, ob ihr Einsteiger grundsätzlich aufnehmen würdet. Ich werde meine Ausbildung wohl dieses Jahr abschließen (Fachinformatiker Anwendungsentwicklung). Liebe Grüße
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Vielen Dank für das Lob 😊 Melde Dich einfach mal per E-Mail unter hello [at] thenativeweb [dot] io 😊
@axadkrk
@axadkrk Жыл бұрын
Danke, und wieder bin ich ein stück besserer JS Coder geworden
@schobihh2703
@schobihh2703 7 ай бұрын
super Erklärungen. Vielleicht aber etwas luftholen zwischendurch, damit man hinterherkommt.
@saulgodman7872
@saulgodman7872 2 жыл бұрын
Perfekt wie immer! :)
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Awwww 🥰
@stefanbrandner9202
@stefanbrandner9202 Жыл бұрын
Aber wenn ich alles in ein synchrones Konstrukt zwängen tue, warum brauch ich dann überhaupt asynchrone Funktionalität. Oder gibt es auch die Möglichkeit, Promises auf die asynchrone Reise zu schicken und am Ende wieder mit await einzusammeln, bevor das synchrone Programm weiter läuft?
@thenativeweb
@thenativeweb Жыл бұрын
[gr] Es ist gerade kein synchrones Konstrukt - es sieht nur so aus. Unter der Haube wird async / await vom Compiler wieder in die Variante mit den Promises umgebaut, ist also tatsächlich asynchron.
@stefanbrandner9202
@stefanbrandner9202 Жыл бұрын
Sehr angenehm, dass du dir die Mühe machst und Fragen im Chat beantwortest, auch wenn diese von Unwissenheit zeugen (wie bei mir). Daumen hoch.
@thenativeweb
@thenativeweb Жыл бұрын
@@stefanbrandner9202 [gr] Danke schön 😊 Ich versuch's zumindest, auch wenn es leider nicht immer klappt, was zum einen an der Zeit liegt, zum anderen aber auch daran, dass es etwas schwierig ist, auf KZbin mitzubekommen, wenn zB eine Antwort auf eine Antwort geschrieben wurde. Die Benachrichtigungen sind da, um es mal vorsichtig auszudrücken, suboptimal 😉
@Foreversun33
@Foreversun33 Жыл бұрын
@@thenativeweb Das würde mich auch mal interessieren, wieso das ( die Benachrichtigungen ) so furchtbar schlecht umgesetzt ist.
@oliverhenning8758
@oliverhenning8758 2 жыл бұрын
Du sagst, dass await nicht synchron wartet. Aber das heißt doch, dass die Logausgabe in Zeile 10 bei einer längeren Kopieraktion schon vor der Fertigstellung erscheint, oder?
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Nein, das war anders gemeint … Wenn Du einen synchronen Funktionsaufruf hast, dann wartet der Thread aktiv auf das Ergebnis. Das bedeutet, dass in der Zeit nichts anderes passiert. Dein Programm blockiert. Wenn Du auf einen asynchronen Aufruf mit await wartest, dann geht es zwar an dieser Stelle nicht weiter, bevor das Ergebnis zur Verfügung steht (weil await erst dann weiter macht, wenn das zu Grunde liegende Promise resolved oder rejected wurde), aber in der Zwischenzeit können andere (!) Funktionen ausgeführt werden. Wenn Du zum Beispiel regelmäßig mit setInterval einen Counter ausgeben lässt, läuft der nicht weiter, solange auf eine synchrone Rückgabe gewartet wird - bei einem await hingegen schon.
@svenjodicke3129
@svenjodicke3129 2 жыл бұрын
Top Erklärungen... Weiter so... Bin als Anfänger (ca. 9 Monate in JS/TS/ExpressJS u. VueJS u.v.m., ansonsten langjährige Erfahrung in embedded Softwaredesign C/C++ und diverse andere Sprachen) begeistert, der aber immerhin mit allen Punkten schon Berührungen hatte. Eines ist mir in Hinblick auf asynchroner Verarbeitung aufgefallen. Ich habe es zwar schon lösen können, aber vll habt ihr ja bessere Lösungen parat und meine ist nur eine Sublösung. Ich würde meine Lösung gar nicht erst vorstellen, sondern einfach das Problem schildern. Problem: Ich habe einen Baum, der hat diverse Properties und eines dieser Property ist eine ID des jeweiligen Blattes (Kindes). Mit dieser ID kann man Backend-Fragen stellen, zb. lassen sich Zusatzinfos zu diesem Blatt (Kind) erfragen, die so nicht in den Blattelementen des Baumes enthalten sind. Um diese Zusatzinfos nun für jedes Blattelement herauszubekommen und in die Blätter auch hinein legen zu können, müsste man sich ja jetzt rekursiv durchhangeln und diese asynchone Funktion zb. GetAdditionallyInfo() aufrufen. Meine Frage nun: Wie geht das geschickte Aufrufen asynchoner Funktionen, wenn diese selbst rekursiv aufgerufen werden. Also (bitte eher als Pseudocode lesen ;-) ): async function MyRecursiveFunction(var leaf: Object):Object{ const Info = await Server.GetAdditionallyInfo(leaf.ID); leaf.Info = Info; if(leaf.hasChildren){ leaf.properties.foreach((element)=>{ await MyRecursiveFunction(element.ID); // ich glaube das funktioniert so nicht, aber ich hoffe ich konnte das Problem skizzieren }) } } Die zweite Frage, wie funktioniert generell ASYNC AWAIT im Kontext mit Methoden von Klassen in JavaScript? Soweit ich weiß kann man Methoden das Schlüsselwort ASYNC nicht geben, also bei mir ging es zu mindestens nicht. Ich hoffe das war soweit ansatzweise verständlich...
@woife0705
@woife0705 2 жыл бұрын
Ich hab jetzt nicht Alles im Detail getestet, aber vielleicht ein par Gedanken zu deinen Fragen: - Bei rekursiven Aufrufen gibt es mMn keine großen Unterschiede zwischen synchron und asynchron. Also wenn es für deine Anwendung passt (Abbruchbedingung, Resourcen, ...) dann kann man das schon so machen. - forEach kann glaube ich (kurze Google Suche bestätigt das) nicht mit asynchronen Funktionen umgehen. Daher wird in dem Callback nicht wirklich auf das Promise gewartet. (Außerdem muss die Arrow-Function async sein) - Du könntest aber mit .map() deine Elemente in ein Array von Promises umwandeln und dann entweder mit Promise.all() oder in einer "normalen" For-Schleife nacheinander auf alle warten - In deinem Beispiel könntest du die Promises parallelisieren, in dem du erst alle Promises erzeugst und danach erst await darauf aufrufst. Die Promises fangen beim Erstellen direkt mit der Ausführung an. Ein Promis bleibt aber dann in seinem Endzustand (resolved/rejected). Daher ist es nicht schlimm, wenn du später await darauf aufrufst. Je nach Resourcen und weiteren Implementierungsdetails kann das aber auch unerwünscht sein.
@Furz35
@Furz35 2 жыл бұрын
Tolles Video ;-) Ich würde mir eher browsernahe Beispiele wünschen als Node.js. Gerade das blockieren der GUI ist ein häufiges Problem was man mit multithreading (Webworker) verhindern kann.
@thenativeweb
@thenativeweb 2 жыл бұрын
[gr] Danke für Dein Lob und Dein Feedback 😊
@Xcf_341
@Xcf_341 Жыл бұрын
Heilige Scheiße hat dein Kanal einen Mehrwert!
@pat_mueller
@pat_mueller Жыл бұрын
Für mich die Königsdisziplin in der Programmierung Jedenfalls nicht Memory Management, Design Patterns oder Rekursion
@BURAXON
@BURAXON Жыл бұрын
Gehts um Ajax?
@thenativeweb
@thenativeweb Жыл бұрын
[gr] Nein. Es geht um asynchronen Code (Callbacks, Promises, async/await, …).
Go (Golang): Eine Einführung in 130 Minuten // deutsch
2:13:34
the native web GmbH
Рет қаралды 32 М.
JavaScript: Das ist neu in ES2022 // deutsch
35:27
the native web GmbH
Рет қаралды 6 М.
Smart Sigma Kid #funny #sigma
00:14
CRAZY GREAPA
Рет қаралды 100 МЛН
HELP!!!
00:46
Natan por Aí
Рет қаралды 44 МЛН
風船をキャッチしろ!🎈 Balloon catch Challenges
00:57
はじめしゃちょー(hajime)
Рет қаралды 24 МЛН
Testen mit TDD: Eine Einführung in 100 Minuten // deutsch
1:49:29
the native web GmbH
Рет қаралды 7 М.
Lerne JavaScript Promises in nur 20 Minuten
24:53
Programmieren mit Mario
Рет қаралды 5 М.
Warum JavaScript so seltsam ist // deutsch
19:57
the native web GmbH
Рет қаралды 12 М.
JavaScript Callbacks, Promises, and Async / Await Explained
38:54
LearnWebCode
Рет қаралды 41 М.
Docker-Compose: Eine Einführung in 80 Minuten // deutsch
1:16:47
the native web GmbH
Рет қаралды 27 М.
Mastering async code with Typescript and Javascript
39:01
Jack Herrington
Рет қаралды 78 М.
React, Vue.js, Angular & Co. - was wann wofür? // deutsch
22:13
the native web GmbH
Рет қаралды 11 М.
Docker für Fortgeschrittene in 80 Minuten // deutsch
1:18:35
the native web GmbH
Рет қаралды 28 М.
Node.js lernen: Eine Einführung in 100 Minuten // deutsch
1:39:22
the native web GmbH
Рет қаралды 19 М.
SICP.js #1: Die DNA des Programmierens // deutsch
1:03:20
the native web GmbH
Рет қаралды 6 М.
Smart Sigma Kid #funny #sigma
00:14
CRAZY GREAPA
Рет қаралды 100 МЛН