[Playlisten] [Impressum und Datenschutzerklärung]
async und await in JavaScript
Tempo:
Anklickbares Transkript:
und – sind Schlüsselwörter, mit denen man ihn C. Sharp in Peißen JavaScript – C plus plus heißt ist Kuwait – einfach mal unterbrechen, kann – die Liegen mach zwischendurch was anderes – setzt die Funktion dann später wieder fort. – ohne dass dazu ein extra Brett – wäre. – du mal später schlafen schreiben, ohne – dass die Bedienoberfläche – hängt – was ich im Video vorführen werde, – kann man – von – Servern holen, – daß irgendwas hängt – der Bedienoberfläche – Details in der durch verschieden – C Programmiersprache. Hier – geht's jetzt um – nebenbei und – promises in JavaScript und – JavaScript aktuell – 2021 – so aussieht. – speichere – meine Datei hier erstmal. – irgendwas HTML – hatte Melanie sehr einfallsreich. – gleich auch eine extra JavaScript Datei, also neue Datei. – von wegen. – JS Test. – JS – nehme das Verzeichnis in dem das alles steht – Workspace dazu. – Und sagen auch Richard gerne eine neue Konfiguration dazu. – speichert es als Workspace? – Code Workspace. – Es muss ja bisschen Inhalt rein, die – dir fast automatisch gefüllt! – möchte die Skriptdatei benutzen, – aus. Skript – da hat er sich schon Test. – noch dazu – zu sagen, dass der Browser erst – JavaScript Datei starten soll, – die hatte mir Datei. – worden ist. – heißt, ich kann den die JavaScript-Dateien – schon auf alle möglichen – zugreifen. – ich baue noch einen Button – kriegt die weltbewegende ID mal warte – natürlich – mich strauss. – baue ich noch eine Checkbox dazu, die ist – funktionslos – die Checkbox – der mit ich nur zeigen wann – Browser reagiert und von der nicht reagiert auf – Bedienung – noch ein Text Absatz stimmt noch was ausgeben kann finde ich die ID may Rod Pod – sodass ich schon alles an – zum JavaScript – schalte ich – Prüfung 1 tears – Check – ich mir mal meine Bedienelemente – x Button – Hause ein – get – Element by ID – Button – Device gings ja auch ohne diese Zeile, – iButton sofort definiertes. – somit get Element by ID ist es sauberer. – vor allen Dingen kann ich nur mit den Typen bisschen – jonglieren, ich kann da nicht sagen, das – ist vom Typ – TML – Element – mir die Typenprüfung sagt das – doch – allgemeine entstehen l-element, was hier rauskommt, das gar nicht kann, was ich da habe – sagen wir den fehler bitte – ich weiß ja was ich tue – für den Paragraph – was ist das für ein Typ, ist ein Experiment. – Handtaschen – get Element by ID – dasselbe Phänomen – Element kann natürlich mehr als das – was hier aus get Element by ID rauskommt – klicke Agnes vom button. – ich – eine Funktion dran – die soll – ominöse andere Funktion aufrufen namens to work Praktiker – z.b. – du wirkstatt – irgendwas. – jetzt will ich erstmal vor, dass eine Endlosschleife nicht funktionieren wird werden diese Funktion du work – eine ganz schlichte – Endlosschleife – veranstaltet – Problem. – habe z.b. Einfach in diesen – aktuelle Uhrzeit rein – dieser Form, – könnte man ja erwarten, dass wenn – der Button geklickt wird. – Endlosschleife startet – dann ständig – die aktuelle Uhrzeit. – diesem Absatz rein schmeiß. – wird natürlich hängen. – an run – da ist der grandiose Button – die – und wenn ich jetzt auf den grandiosen Button klicke. – Passiert nichts und – Checkbox – auch nichts will sagen – Oberfläche. Hier ist eingefroren, – ist das übliche Phänomen – für Endlosschleifen – der Arktis Behandlung – Wenn du Ferkel startet wirst nach dem Klick dann beneto Schleife – die wieder raus – der Browser hat keine Chance – zu tun hat kann nicht mehr das Bild aktualisieren, weil wir die ganze Zeit hier in Endlosschleife hängen, – lässt sich jetzt aber – einem – promise. – er wird zu aufgelöst. – F40 – Set Timer auf – bevor ich sage, was du der Pommes tut. – er fällt hier sieht – man schon gedroht. Ich kriege – schreiben, es ist eine – function – asynchrone Funktion, – dürfen wir einen Effekt verwenden, – ist er fällt hier. – der Funktion erzwingt, – dass – wir ein ASIC davor schreiben. – hat hinter den Kulissen ganz viele Bedeutungen, aber eins nach dem anderen. – dieser promise I – promise in JavaScript, – also ein Versprechen ist ein Versprechen darauf, dass irgendwann andere Soldat kommen wird. Hoffentlich – auch sein, das ist dann nicht kommt. – hat Pommes im Kern ist ist eine Funktion, – die ausgeführt wird, die macht irgendwas – wenn sie fertig ist, – sie entweder eine Funktion auf mit der die sagt, dass es gelungen ist und wie soll oder sie ruft eine andere Funktion auf mit der sie sagt war nichts, – jetzt hier nicht gibt – es nur das besorgt, – mein total – simpler bekomme sie jetzt macht – macht eigentlich gar nichts, – er macht ist. – sagt – 1000 Millisekunden eine Sekunde warten und danach bis auf aufrufen. – zu sagen und erstmal mit Erfolg beendet, – haben zwar kein Resultat jetzt hier. – mal aufmachen, aber – beendend isn't promised nach einer Sekunde mit Erfolg, – steht jetzt hier im Endeffekt – nun wird das Ganze funktionieren. Meist nur laufen lassen. – Panda die Uhrzeit – Checkbox gibt. – im grünen Bereich. Trotz der Endlosschleife – die Oberfläche lebendig. – nämlich dumm passiert ist, folgendes – Klick – diese Funktion ja aufgerufen to work – in die Endlosschleife rein – die Zeit. – den Inhalt – dem Absatz da – dann kommt es soweit du Pommes. – da – diese Funktion – wieder verlassen, sie wird einfach mitten drin liegen gelassen an dieser Stelle dessen kann der Browser was anders tun, – der Promis hier. – wird – JavaScript – und die JavaScript engineer – wieder – zügig wieder und – macht weiter – dem befreit. – jetzt eben hier nach Sekunde der Fahrt, kann sich auch nur Millisekunden stellen. Wird auch funktionieren ein bisschen übertrieben, – die Uhrzeit jetzt ich nur jede Sekunde ändert, – nicht funktionieren wird – wenn ich ja sage, ich – sofort einen – erfüllten – Pommes zurück – Soll – wird wieder hängen. – das ist ein paar müsst ihr sofort erfüllt ist. – Weil ich das jetzt hier mache, – das alte Phänomen das hängt. – ist sozusagen zu früh das jetzt dem auf, dass ich der Kürze nicht eingehen will, wenn du mal nachgucken will Makro Task microtask, – hier ist zu früh wieder brauche ich für schnell – Dieser hier funktioniert – mit dem setTimeout, auch, wenn hier Null steht, – der – Was er jetzt nicht sehen ist es die Uhrzeit hier sehr oft – angezeigt wird. – habe mal wieder 1000 rein. – sieht man schon es ist also nicht an eigener Thread, was hier stattfindet, – parallel – laufender red, – sind im Hauptwert – dem rsync und to wait. – ist als ob es nur – Person gibt, die die Arbeit erledigt – macht sie ihm mal die eine Arbeit und die andere Arbeit Dexel zwischendurch je nachdem was gerade so – gibt keinen zweiten Switch – zwangsläufig einen zweiten sweat an der – das sowieso in JavaScript mit anderen Threads machen würde der Burger aktuell 2021 – verwenden würde, dann könnte man sowieso nicht – dumm auf die Oberfläche zugreifen, – müsste erstmal Nachrichten hin und herschicken – wir sind tatsächlich – JavaScript – nicht in – ist das mit dem Essig und await noch ein bisschen langweilig, – weil ich da keinen Wert erwarte an Pommes hat ergeben gesagt, ähm promise ist ein Versprechen. Auf einen Wert haben – wir gar nicht, dass Promis wird aufgelöst, aber die Vertrag ein Meer Warmhaltefunktion – deiner noch an Wert rauskommt – als pacing – time String. – schaue ich mir mal gerade die Zeile – dem Beweis, dass eine Sekunde lang liegen bleibt und – ich mal was zurück nehme ich das was wir hatten – habe ich also einen asynchrone Funktion gebaut, – eine Sekunde liegen bleibt und was zurück gibt. – ich die – kann ich jetzt – Ich kann sagen mein Auto – textcontent = Red – Soundtrack. – wenn jemand auf den Button klickt, – es function to work aufgerufen, die scheint in einer Endlosschleife zu laufen dahin, wie läuft die auch der zärtlich an an Endlosschleife? – stört – bald auf das evade. – bleibt denn erstmal liegen, – diese Welt hier von der time stimmt dieser Funktion einer asynchronen Funktion? – bleibt erstmal eine Sekunde lang kriegen und wenn es dann fertig ist, – der einen Sekunde – Darts. Hallo, ich – habe mal ein Ergebnis und das ist hier die aktuelle Uhrzeit als Zeichenkette. Die kommt dann aus dieser Funktion der Teilchen aus dem – E-Bike – wird in den textcontent freigeschrieben – Guck, – das ist das jetzt kein großer Unterschied zu heben. – kann da starten, – ist die Uhrzeit und – funktioniert. – sieht schon was dieses airfreight eigentlich veranstaltet, – hier habe ich auch way to promise hinter – dir befreit steht an promise. – was ähnliches aber typischerweise an Pommes, das heißt hier get time String – keine Zeichenkette aus. Der Funktion wird ein stinkt kommt keine Zeichenkette raus, auch wenn es so aussieht – tut so – Zeichenkette ist, was da rauskommt ist, es ist nicht essen Pommes aus einer Racing Funktion kommt alles zurück und da drin versteckt ist die Hoffnung sozusagen auf eine Zeichenkette. – rechts von Immowelt habe ja ein Pommes stehen – was dann rauskommt aus Immowelt. – denn der Promis aufgelöst worden ist – Zeichenkette und die kann ich jetzt zuweisen. – sie das alles ganz nett aus, also mit Azincourt of weight – ganz viel – Mechanismus V morgen, was – die promises alle so tun hinter den Kulissen, – Muss nur bisschen vorsichtig sein, – gibt mindestens zwei Fallstricke, – erste ist das – innerhalb einer Funktion hier variablen – hat sich einfach mal ändern können, weil ich ja die Funktion zwischendurch liegen lasse und – komme ich irgendwann zurück – dann kann es sein, dass ich Variablen geändert da mich würde das mal vor irgendeine variable – du ja eh gleich null. – See – ich mal wenn der klick hier stattgefunden hat. Dieses iih werde ich einfach mal hinterrücks irgendwann verändern Timeout – 23 – werden nachher – 30 Kunden – Art – Arrow function. – Überfunktion hier wieder – nimmt nicht – was macht sie? – jetzt eh gleich 23. – Ganze im Timeout drin, also nach 3 Sekunden – Telefon zioni aufgerufen, die gleich 23 setzt – hier unten indem du work in der Endlosschleife – jetzt einfach mal – die sie aus plus – Zeit, die da rausgekommen ist. – dieses to work eine ganz normale Funktion bisheriger Art wäre. – könnte sich dieses eh niemals ändern, ich bin in der Endlosschleife drin. – ändert diese See augenscheinlich. – ich auch Sensus Lite für gar nicht wieder rauskomme und ist jetzt hier anders, die der Endlosschleife ist eben nicht wirklich eine Endlosschleife, sondern sie wird regelmäßig verlassen – und sich durch passiert was nach drei Sekunden steht eben 23 davor und nicht mehr nur davor. – Uhrzeit – dachte T23 – alles hier lebendig, ich kann die Checkbox an und ausmachen. – ist die erste Fallstrick, – Kunden Funktionen können sich – variable mal ändern – selben scheinbar – sehr im Durchlauf, weil ich die Funktion – verlassen kann und wieder zurückkehre, – ist das erste was ein überraschen kann. – II was an überraschen kann ist die Funktion mehrfach gestartet werden. Kann – hier, wenn ich sowas wie onclick habe, ich kenne mehrfach klicken – dann läuft die Funktion – mehrfach, ich nehme hier dies setTimeout wieder raus. – sage ich ihr mal die Post + – LED – J = g – schreibe ich mal JEAN – so. – klassische Funktion – ich nicht zweimal starten. Es hat er nicht macht rekursiv, aber hier ist ja nichts von rekursiv. – die Funktion gerade läuft to work, – läuft diese Funktion und nichts anderes. – ich sie nicht selbst ihm dann wieder aufrufen. Würde rekursiv gerne sie nicht zweimal in Aktion die Funktion to work, – sehen wir jetzt – Demi, dass die Aufrufe mitzählt, dann in den Garten undead hier – sehen wir jetzt hast du die Funktion tatsächlich jetzt, mehrfach laufen kann ich hier mehrfach, dicke – da das mal. – so gut, sie – läuft einmalig. Wecke noch mal. – sieht man ja abwechselnd 2 und 1. Die Funktion läuft das ja nicht zweimal nebeneinander, sie wird mal bisschen gemacht der Nummer 1 unter wieder ein bisschen mit der Nummer 2 und dann wieder ein bisschen mit der Nummer. Eins – dem wie das gerade so hinkommt – und je mehr ich hier klicken, jetzt habe ich vier Mal gekriegt. Die mantys durcheinander – 1234. – Die Oberfläche ist, natürlich lebendig. – Funktion läuft jetzt viermal. – wir mit A-Klasse Funktion auch nicht möglich – Rekursion und hier sieht man nichts von – am Bus ein bisschen vorsichtig sein mit den asynchronen Funktionen. – Sie laufen eben nicht in eins durch. Es kann zwischendurch schon das eine oder andere noch passieren. – einfachste hier jetzt um zu verhindern, dass diese Funktion doppelt – Wäre natürlich dass ich hier bei onclick – bis dahin war das alles ein bisschen Spielerei, – Uhrzeit für mich erledigt zu anzeigen, wie es jetzt gerade hier vorgeführt habe und wird ja direkt mit einem – arbeiten – und nicht mit Essig und trade – übliche Anwendung – Azincourt airweight. – Daten aus dem Internet zu warten, – nehme – weg und startet du work und ich nehme hier mal. – das ganze Innenleben von dem du sagst wieder weg. – hol mir mal Daten – dem Netz. – von meine eigene Webseite mit – das wäre das Verzeichnis in dem so das ein oder andere steht. – hole Daten – mir es irgendwie eine Antwort merken. – nicht das mal – hier kommt jetzt eine – Sorte – und dann mit – Patch – ist die – angesagte Art, wie man Daten aus dem Internet holt. – fetch gebe ich – von wo jetzt – geholt werden soll – Schluss – naja, ja, dass sie meine Videosammlung zurück in Hand! – Index – das ist eine – separiert – die Daten – jeweiligen Videos stehen – soll jetzt einfach – Datei eine Textdatei – der Webseite holen und man sieht schon fetch liefert ein Promis den er steht eine weight – ein Versprechen, – der jetzt auch wirklich was kommt an Daten, – aber auch fehlschlagen kann aus vielen Gründen natürlich, weil – url falsch ist, weil der Server down ist, weil jemand übers Kabel gestolpert ist und so weiter, fährst du schon Pommes – dem Moped – dann ein Wispern zurück response – ist – Zwerger – das Ergebnis hier nicht direkt die nackten Daten, sondern das geht noch mal eine Nummer weiter – ich den – haben will da drinnen steht bei euch noch mal eine weight, – kann nämlich den response – einem weiteren Pommes Fragen nach Text – werde ich die Binärdaten kriegen und was auch immer, aber – weiß, dass ein Text Daten – bekomme ich ein weitere – Pommes wir das ja auch so schön steht – verspricht mir eine Zeichenkette. – Also, diese survey Twitter TZ ich eine Zeichenkette liefern – dem response Text – fate of the switch liefert Wein. – response, also, das im Detail sein mag, – habe ich sogar zweimal await hintereinander – sagen. – da was gibt Engine – hier beim Essen evades. – Funktion liegen lassen und dann wird sie ganz weite – die Funktion liegen lassen im Zweifelsfall. – habe ich dann im Endeffekt, aber einen Text – Zeichenkette – die kann ich wieder – den Text Absatz – als Kontakt. – mal gerade müsste wirklich ein Text ankommen. – ist der Text aus der – das sind jetzt zu schnell hat sich hier nicht mehr auf Checkbox schicken konnte. – auch mal bei dem Klick. – Funktion asynchron Funktion die work gestartet. – ein Pommes der auch sofort läuft diese Funktion die dahinter in – in dem Patch läuft – sofort – wenn dieser fett positiv beendet – wird. the water surface and – response zurück – haha gibt's einen Fehler muss man gleich noch mal gucken in der Fehler passiert andere Nummer. – dem response kann ich mir noch mal wieder einen Pommes holen – ein promise. – mir dann hoffentlich – zügig – Zeichenkette mit dem Text liefert, – da noch mal eine fade und dann kommt eine Zeichenkette raus und die kann ich weiter verwenden – aber das Leben müssen ja schwieriger gerade hier im Internet. Kann alles Mögliche schiefgehen, – machen wir wenn – der Promis – das wird er gehofft. – kriegen was klassisch, wie ein Exception aussieht, – ganz – sicher and catch – ich dann einfach bei dieser – entsprechendes aus. – in dem – steckt. – habe ich mich dabei, dass ich gerade Exception gesagt habe – der Gewohnheit von sie Sharp & C plus plus und so weiter in JavaScript gibt's ja heraus und exceptions – aber über einen Kamm geschoren werden hier mit dem 2. Und catch. – Aber dafür dass ich jetzt auch wirklich einen Fehler gibt. – gibt dieser nette website. – geändert, jetzt steht – piestert USA – daughter auf Wahlaufruf – Dichtband 404-Fehler, seid – ihr nicht gefunden, – wir wartet die Seite mal fälschen, das muss in einem Fehler – jetzt sieht man halt halt halt da steht ja gar nicht viele da vor, der steht voll auf vor not found. – sind nicht in Ketsch gelandet, – ist wahr das Fett sehr großzügig ist, es muss schon wirklich im Netzwerk – irgendwas – gehen, – das selbst wirft, – müssen in response – nachgucken, ob das geklappt hat. Also, wenn nur der Server einfach – HTTP Fehlercode – wahrscheinlich – durchlaufen erfolgreichen – Anführungszeichen durchlaufen, – kann überweisen. Response nachgucken response. Ok, – den der – wirklich gesagt hat, dass das okay ist, wenn – Response nicht okay war zu – wow – deinen – Text – fetch – weniger Fehler als man erwarten möchte, aber man kann eben mit response.ok nachgucken, – ob – auf der Gegenseite auch glücklich war, – er nicht glücklich war. – wir einen RO und landen dann es aber in den catch. – dass ich dann wieder davor – not war eben einfach dieser Text – von dem response, – muss man dann vorsichtig sein, – der Text in der Form response kann ja vielleicht auch einfach eine Fehlermeldung sein. So kriegen wir es raus, ob sie Fehlermeldung ist. – nehme den Fehler immer wieder raus – hole mit dem Patch das was ich haben will das Verzeichnis – diesem Videos. – aber ganz viele Dateien, dass ich das auch wirklich lohnt – asynchron zu machen. Ja, das mit dem text content nämlich mal raus. – jetzt mit dieser Liste von Dateien weiterarbeiten – und die alle Mal laden. – fährt erstmal an Dateinamen daraus – Sunray – Falk name's, ich nehme diesen – Text. – ich das in der nächsten Zeit damit übersichtlicher wird – den Text, – wunderschöner Windows Datei, das heißt mit return und nur leihen – ich Zeile und Zeile – ist spät angemeldet auf den Text liefert ja ein Earl Grey – mit dem kann ich jetzt weitermachen. Schreibt – man da gerne ein – zahlen nicht alles hintereinander Text. – Split. Was auch immer untereinander. – verkettet – Array was da rauskommt, – will ich jetzt Zeile verarbeiten. – Map jeden – Eintrag von den Murray, was möchte ich damit machen Sie – was eine Zeile in dem Array, ich – möchte diese eine Zeile an den Tabulatoren – leihen. – Split. – ulator – fünfte – Spalte also die mit der Nummer 4 in der steht der – so sieht das jetzt aus wieder mal eine anonyme Funktion an error function – sie anderswohin – heißt die Arrow function, – kriege aus dem RE. – Eintrag nach dem nächsten der ist in line drinnen – Zeichenkette nach der nächsten und die Zeichenkette zerlege – ich und – du mir – Teil also 3234 den fünften Teil geben darf, wenn er – denn da ist. – heißt die Funktion dahinter – Eintrag im Array – leider – von diesen Zahl der Gleiter Lea das heißt, wenn ich da nach dem – das undefined – muss ich rausfiltern, – also Filter. – Zahlen in denen jetzt – define steht. – übernehme ich alle andern dich das macht fehlte also aus dem Array herausfiltern – alle – die die Funktion – war – ist es – kein undefined steht es gab einen – der mit der Nummer vier der mit Mintex vier – jetzt habe ich die Idee, wo wir sie was drinnen steht – Datei stehen, die man den Namen – einen Namen – Dateien. – will ich das noch ergänzen, dass es immer komplette – URL sind, – noch mal eine Map jede – Zeile, die ich da jetzt habe. – Zeichenkette – mit dem Direktor – von dem Dateinamen die nicht da habe möchte – ich letzten 4 Zeichen – leisten – 0 - 4, da steht nämlich. Mp4 – das möchte ich abschneiden. – stattdessen – soll ich mir mal von Ankara nach ausgedacht! – zwei. – Txt – haben gut, dass ein Kind damit zusammen wie ich die Sachen auf meinem Server – habe, aber das sieht man mal – ein chaining Funktion – hintereinander – Zeichenkette Text – Erreger in die Einzel – in die da drinnen stehen, – kriege ich einen Ray von Zeichenketten hier aus dem Split. – kann ich einzelne von dir die Zahl da von irgendeiner Funktion unterwerfen, – ich – nehme – nicht alle Zahlen, – sondern lasse auf welche weg und unterwerfe jede davon wieder irgendeiner Funktion – habe ich in dem komplett Wells drinstehen, es geht mit – und so weiter los und endet mit. – jetzt – habe ich ein Array von URL – ziehe ich abfragen kann, – hat jetzt nichts mit Pommes ist zu tun und nicht mit Azincourt away, sondern nur der komischen Art, wie es auf einem Server gespeichert habe. – naive hat jetzt weiterzumachen – mit einer for-Schleife – null, – viele habe ich jetzt hier in den Dateien Namen filenames. – Längs? – ich jetzt mit einer for Schleife durch die ganzen Dateien haben hier gehen und – wieder ok – uns jeweils in response XML response Single – Anfrage – einem await fetch – ich gehe einen nach dem anderen Dateien haben – URL ist es ja inzwischen – holt das ab und – Erfolg kommt aus diesem Gerät irgendwann – Befund zurück. – noch nicht ein Text ist. – wir können einen Text ausmachen und den möchte ich dann – WhatsApp – die ganze Text ist und solange ich legal Fanta nur die Länge nach, dass ich hier sage plus gleich. – Jetzt – ich auf – Text aus dem response Inge response – das ist ja wieder ein Pommes, – du mir gerade ein bisschen zu viel Text wird. Unübersichtlich, ich nehme davon einfach nur die Länge – Upgrade die verdammte Zeichenkette zurück Klammern drum, – habe eine Zeichenkette. Die Zeichenkette kann ich nach der Länge fragen. – ist sie nautima – noch an Zeichen dahinter, damit das getrennt ist. – in filenames habe ich eine lange Liste an U11 mit der for Schleife gehe – ich alle durch starte – jeweils ein Patchfeld – dann immer wieder – ist – Datei angekommen ist oder das ganze fehlgeschlagen ist. – ist – Antwort – kompliziertes Objekt, was da zurückkommt, die Antwort wieder zurückkommt? – hat einen Promis namens Text – ich auf den – sich auf in eine Zeichenkette, die kann ich nach der Länge Fragen und hinten dran stellen, an wen textcontent, – also man sieht jetzt gleich hoffentlich ganz ganz viele Zahlen, die sagen, wie viel – da geladen worden sind, – selbe Geschichte hier oben natürlich auch – ist sehr großzügig – jetzt jetzt sicher und Abfrage rein, ob der Server ein Problem hatte – not response – Hockey. – dann werde ich einen – Status Text davon. – ich starte – einer langen Zeichenkette in der Zeile um Zeile – stehen und anderer Kram – die in die – 1. Jede – Zeile – zerlegt – bekomme hinten den Dateinamen raus – alle Zahlen weg, die nicht dazugehören. – ihre das ganze was noch rauskommt Zeile um Zeile – das ist eine komplette URL ist und dann kommt jetzt hier einer for-Schleife – Abholen der einzelnen Dateien – den heißen response und Midweight für den Text aus dem response. – provoziere zwischendurch mein Fehler, das man sieht, ob das auch funktioniert. – mich sage filenames – was machen wir – Seite die immer 404 gibt? – mal auf? – Fehler error not found nach – einer kurzen Anlaufzeit – sieht sein also aus, – for-Schleife wird abgebrochen, wie in der normalen Funktion auch – wird ein Fehler geworfen, – for-Schleife endet und es wird kein weiteres fetch mehr angefasst, – nicht mal wieder raus. – ja so passiert ist – die erste Datei. – wartet – dazu response ankommt – holt man den Text draus und wartet, – der Text ankommt, zweite Datei undsoweiter undsoweiter zwischendurch – kann immer wieder was anderes laufen, – die Welt diese Funktion liegen lassen kann. – Fehler gibt der mittendrin auf und – der Dateien ist gar nicht angefasst, wo könnte man anders machen, aber es ist jetzt erstmal hier gelöst. – schreibe jetzt hier mal in diesem fetch noch etwas dazu, dass man das nicht dazu schreiben würde – Anweisung ist nicht aus dem Browsercache – nehmen. – geht natürlich viel schneller werden es schon im browser einmal drinnen war – man es aus dem Cache nimmt möchte mal sagen, – da jetzt immer einzeln passiert ist es wirklich so Perlenschnur mäßig passiert. Ferragni oder Wasserfall mäßig passiert eine Dateien nach der anderen – ich aus dem Cache holt ist es schön. Langsame kann man das erkennen, – schalte mal den – an F12 Netzwerk. – kann man das jetzt sehen, – das Wasser vermiss ich eine Datei nach der anderen erscheint. – eine lange Liste – Datei nach der anderen – passiert gleichzeitig. – wir ändern das auch was gleichzeitig passiert – ganzen Geschehen hier – aufrufen – das noch mit rein hier willst denn mit was tue ich jeder Zeile an – als das? – wenn dann schreibt aber zu, dass eine größere Funktion stehen darf. – Ergebnis hier merke ich mir. – war das western – style dress, – ist ja dresse für den aus Silikon und nehme ich mal an. habe war es eigentlich ähnlich – wie eben in der Vorschlag, ich nehm alles was davor geschah für drinnen war mal nach oben – Portal für Selbstgemachtes raus. – ein bisschen was – ja, sie fallen nimmst von hier ist jetzt etwas. – Sofa jetzt – Funktion – Essig davor – heißt ja aus. Der Funktion kommt nicht mehr das raus, was man glauben möchte, sondern eben ein – Funktion kann mittendrin unterbrochen werden, – auch hier da financing stehen bei einer Arrow function – großer Unterschied – gibt es keine for Schleife mehr, – sollte hier jetzt noch da ist ja nicht bei filenames stimmt ja nicht mehr und hier jetzt rauskommt – der – error function ist. Ja ein Promise. Ich nenn das hier mal – er sandte ist, das jetzt das – parallel stattfindet. – das wieder an. – Uhr – ohne Gefahr Schleife – ich ja schon dass die Balken sich heftig überlappen. – scheint wohl allerhand. – parallel stattgefunden – zu haben. – was – er, die Kulissen macht – parallel an gestartet worden, es gibt zwar nur einen Hauptsatz, – das ganze anstatt du zusammen pieselt, aber – hat Dieter den Kulissen alles möglich parallel gemacht, die Balken laufen nicht, – er für mäßig – natürlich was normal, natürlich ist hier die – möglich mit der Checkbox. – will ich mal gar nicht mit wann das hier alles fertig ist – gelaufen sie Pommes ist aber wann sind Sie denn alle durch gibt es Pommes Wahlzettel. – ich kann sogar Resultate abholen, weil Salz – misshandelt. – diesem Bereich mit den ganzen promises. – geht's rote Kringel, weil – noch Konjugation einstellen müsste, das die neueste Version von JavaScripts unterstützt – wird, egal regenerieren – Bacardi roten Kringel hier. – promises ist jetzt zum Schluss – Rave – von promises mir, – das sieht ja zum Schluss draus werden – sonst was – einen – zurück ist ist ein Rave on promises zettelt ist ein neuer promise. – aufgelöst – wird, wenn alle Pommes ist hinten drinnen in dem Array – oder negativ aufgelöst worden sind, die geschlagen sind oder hoffentlich funktioniert haben – dieses oh wait. es gibt ein Array von Resultaten zurück. Für jeden Eintrag in den Murray hinten gibt es an Eintrag in dem RE vorne – oder Misserfolgs Meldung und Resultat. – allem kann auch ein Resultat haben Baumann Resultat ein fällt mir dabei ein, – jede von den Funktionen in drin auch noch ein Ergebnis – liefert ihm aber die Länge hier – hier – dieser länger – das wird dir was Ergebnis – einmal ausgeben in – den Absatz – zurückliefern als Ergebnis von dem – dann – jetzt gebe ich dir noch aus, in dem Murray Zufluss ankommt. – dass ich mal output – gibt es netterweise JSON – dir, weil das kannst in Zeichenkette umwandeln können. – dann steht das da dem Absatz. – gerade ich jetzt mal angucken, also – kriegen übers die Einzel Meldungen – dann zum Schluss, wenn alles fertig ist, – dieses avait. – werden, es gibt Array mit den ganzen Resultaten und Erfolgsmeldung oder Misserfolgen – das sein weil dann an – geht's natürlich läuft hier Checkbox immer noch. – ist nichts passiert, heißt das. – ja heute zur – alle – sind erfüllt worden der hätte stehen die Werte das was wir als return – haben. – dieses heute ein Textlinks – dann etwas – versteckt in der Murray, was dann entweder als steht. – doch ein Fehler ein, dass man sieht, was jetzt hier mit dem error passiert – manchmal mit Zufall, – wenn eine – Zufallszahl – wenn – diese Zufallszahl zwischen Mund als gleichverteilt, wenn die größer ist als 0,9 – also in 10% der Fälle, – ich die Adresse ein, – denn wunderschön vor auf vor Fehlern die Fahrt als jede – Resse im Schnitt ist für uns kommt – gefunden. – und – ist natürlich man sieht sogar ganz besonders – sein letzter vorstellen. – haben wir ein paar zwischendurch – es laufen. – hier steht dein – daran kann man es auch so erkennen, was geschlagen ist und was nicht weh geschlagen ist, sie jetzt nicht steht. – Fehler deutsches Wort vielleicht irgendwas, das heißt, das kommt dieses airway gefüllt raus, aber es gibt keine. – Meldung hier – mal nach unten – Sketch hier wird nicht betreten, wir haben nirgends so ausgesehen von wegen Fehler. – ich werfe – ja einen Fehler – drin, – der wird hier von euch hättet. – und – nicht hier unten in den catch also all settled ist auch eine sozusagen sehr – robuste Geschichte Vivi fetch, – Fehler – dann ihr Array mit Resultaten drin, – dass Kati unten aufgerufen wird. – dass die Fehlermeldungen – hier ist immer – das nicht wirklich toll angekommen ist sie das dann noch mal laufen – ein kosmetisches Problem. – Klammer, das ist ein bisschen ungeschickt, da sollte er was drinnen stehen in den Wiesen – der das für Jacket – liegt an dem – stringify, der ist ein bisschen strikt, was er – und will das – mal ein Netz basteln – sagen wir Kunst – das reicht mal – noch klingt rein, – ist – Gefahr damit umgehen. Kann das jetzt einfach – auf die Schnelle, dass man auch die Fehlermeldung sieht? – auf das – den Resultaten, wenn – ich jetzt – für Eintrag was an wieder ein map. – Resultat, – die Variable ist immer bezahlt. Jedes – Resultat kriegt jetzt etwas längere – da rein – mit den Resultaten, was – mache ich damit auf jeden Eintrag, – wenn – dich was an – gibt ein neues Array, was in ihm kniet steht massidda zum Schluss hier gefeiert, – mache ich mit jedem Eintrag, – es alt ist, der Eintrag – Name ist alt für diesen Eintrag, was mache ich damit? – nach – Eintrag – riesen – vorhanden ist. – war es wohl eine Fehlermeldung – in diesem Resultat ein riesen vorhanden ist – gebe ich jetzt – von dieser Fehlermeldung aus wie – ansonsten – ich so zurück, wie es war, das hat er funktioniert bei den anderen nur bei den Fehlermeldung, was – das ist jetzt einfach – sind ja auf die Schnelle damit JSON stringify für die Fehler, – erkennt mal was ausgibt. – was es an – z.b. Steht jetzt einfach not found. – die ganze Zeit ersetzt ist Abschied auch nicht mehr Status oder sowas, ich hab die ganze Zeit ersetzt – not found die jeweilige Fehlermeldung not found, steht sie nun und ansonsten – und ein Wert. – hat man auch dann eine Chance die Feder zu behandeln. – Zettel – großzügig, was die Fehler angeht. Man muss dann in der – was rauskommt gucken, – denn da wirklich so passiert ist. – mal kurz zusammengefasst. – auf einem Pommes, dass der – Promis – extrahiert dann was drin gesteckt hat Cindy Pommes danach ist es also sein – Datentyp. – du weit vorkommt, – Icing – der Funktion, – die Funktion selbst wird sich auch nicht mehr das zurück liefert, was man glauben möchte, also, wenn der Funktion steht wird Yandex denkst jetzt und wir bei dieser Funktion – da keine Zahl zurück, sondern an – der Airbase. Da drinnen auch diese Funktion. Hier kann – ja viel schlagen oder nicht fehlschlagen oder wird's jeden Fall später fertig, – ist was da auch zurück kommt auch wieder ein Pommes. Das sagt es ist Icing. – 22 catch und so weiter – man – Fehlerbehandlung machen was aber vielleicht – ist. – die Fehler die Fahrt als man erwarten möchte, funktioniert nachgucken – hiermit response.ok – auch als Zettels – weniger Fehler als man erwarten möchte, die stecken dann einfach in den Resultaten drin all Zettel – garantiert alle promises Andi da hinten in dem Array stehen – richtig zwischendurch ab, wenn einer von denen