﻿1
00:00:01,270 --> 00:00:03,170
‫Kursleiter: Und jetzt, um

2
00:00:03,170 --> 00:00:05,760
‫den Abschnitt abzuschließen, möchte ich Ihnen einen

3
00:00:05,760 --> 00:00:10,040
‫netten Trick zeigen, wie wir im Grunde viele Versprechen gleichzeitig ausführen können.

4
00:00:10,040 --> 00:00:12,690
‫Nehmen wir also an, wir wollten eigentlich drei

5
00:00:12,690 --> 00:00:15,200
‫zufällige Hundebilder erhalten und nicht nur eines.

6
00:00:15,200 --> 00:00:17,053
‫Wir könnten so etwas machen.

7
00:00:19,300 --> 00:00:23,740
‫Also einfach auf D3API-Aufrufe warten, einen nach dem anderen.

8
00:00:23,740 --> 00:00:26,600
‫Aber warum sollten wir eigentlich den zweiten

9
00:00:26,600 --> 00:00:28,340
‫API-Aufruf auf den

10
00:00:28,340 --> 00:00:31,690
‫ersten warten lassen und den dritten auf den zweiten?

11
00:00:31,690 --> 00:00:34,320
‫Das würde nur unnötige Wartezeiten verursachen,

12
00:00:34,320 --> 00:00:36,060
‫wenn wir all

13
00:00:36,060 --> 00:00:38,100
‫diese Versprechen gleichzeitig ausführen könnten.

14
00:00:38,100 --> 00:00:40,920
‫Lassen Sie mich Ihnen zeigen, wie wir das tun können.

15
00:00:40,920 --> 00:00:43,980
‫Die Lösung wird also nicht so aussehen,

16
00:00:43,980 --> 00:00:47,240
‫sondern wir werden an dieser Stelle nicht auf

17
00:00:47,240 --> 00:00:49,990
‫ein Versprechen warten, sondern das Versprechen stattdessen

18
00:00:49,990 --> 00:00:52,143
‫in einer Variablen speichern.

19
00:00:53,330 --> 00:00:56,100
‫Auch hier möchten wir nun das

20
00:00:56,100 --> 00:00:59,470
‫Versprechen speichern und nicht den aufgelösten Wert des Versprechens.

21
00:00:59,470 --> 00:01:02,470
‫Also, nennen wir das hier, Ergebnis eins, pro,

22
00:01:02,470 --> 00:01:03,980
‫was für Versprechen steht.

23
00:01:03,980 --> 00:01:06,560
‫Denken Sie also daran, dass dieser hier ein Versprechen zurückgibt.

24
00:01:06,560 --> 00:01:08,570
‫Okay, und wenn wir nicht darauf

25
00:01:08,570 --> 00:01:11,980
‫warten, speichern wir einfach das Promise in der Variablen und

26
00:01:11,980 --> 00:01:13,970
‫nicht den aufgelösten Wert.

27
00:01:13,970 --> 00:01:16,763
‫Also machen wir das hier noch zwei Mal.

28
00:01:18,350 --> 00:01:22,263
‫Also eines für jedes beliebige Bild, das wir wollen.

29
00:01:24,200 --> 00:01:26,930
‫Okay, und so haben wir drei Versprechen.

30
00:01:26,930 --> 00:01:29,520
‫Um nun tatsächlich die aufgelösten Werte,

31
00:01:29,520 --> 00:01:30,673
‫also die

32
00:01:32,220 --> 00:01:36,430
‫drei Bilder, zu erhalten, erstellen wir eine neue Variable und

33
00:01:38,210 --> 00:01:40,810
‫warten darauf, alles zu versprechen, okay.

34
00:01:40,810 --> 00:01:44,560
‫Und in den Versprechenspunkt geben wir eine Reihe von Versprechen weiter.

35
00:01:44,560 --> 00:01:47,700
‫Und das wird Res One Pro,

36
00:01:47,700 --> 00:01:51,463
‫Res Zwei Pro und Res Drei Pro sein.

37
00:01:52,670 --> 00:01:56,350
‫Okay, wieder haben wir diese drei Promises und diese

38
00:01:56,350 --> 00:01:59,890
‫drei Variablen und können ein Array mit

39
00:01:59,890 --> 00:02:03,520
‫diesen drei Promises an Promise Dot all übergeben.

40
00:02:03,520 --> 00:02:06,580
‫Und wenn wir das dann abwarten, werden diese

41
00:02:06,580 --> 00:02:09,050
‫drei Versprechen im Grunde alle gleichzeitig

42
00:02:09,050 --> 00:02:11,290
‫ausgeführt und dann in drei

43
00:02:11,290 --> 00:02:14,220
‫aufgelösten Werten in diesem All-Array hier gespeichert, okay.

44
00:02:14,220 --> 00:02:17,090
‫Werfen wir also einen

45
00:02:17,090 --> 00:02:21,040
‫Blick darauf, all das variabel, okay.

46
00:02:21,040 --> 00:02:22,720
‫Das hier wird uns jetzt wahrscheinlich einen Fehler

47
00:02:22,720 --> 00:02:23,883
‫geben, aber das macht nichts.

48
00:02:25,630 --> 00:02:26,680
‫Ja genau.

49
00:02:26,680 --> 00:02:29,130
‫Aber was mich hier interessiert, ist zu sehen,

50
00:02:29,130 --> 00:02:32,210
‫ob die All-Variable und was ich Ihnen zeigen möchte, ist,

51
00:02:32,210 --> 00:02:36,370
‫dass es sich tatsächlich um ein Array handelt, aber ich sehe, dass es hier

52
00:02:36,370 --> 00:02:38,770
‫viel zu groß ist, weil es

53
00:02:38,770 --> 00:02:41,630
‫all diese Informationen über all diese http-Anfragen enthält .

54
00:02:41,630 --> 00:02:43,300
‫Wir werden uns

55
00:02:43,300 --> 00:02:47,670
‫diese Art von Sachen später hier ansehen und Abschnitte notieren.

56
00:02:47,670 --> 00:02:50,380
‫Ich kann einfach nicht, ah, hier ist der Anfang.

57
00:02:50,380 --> 00:02:53,600
‫Sie sehen also, dass es tatsächlich mit dieser Klammer beginnt, was bedeutet,

58
00:02:53,600 --> 00:02:56,070
‫dass es sich um ein Array handelt, okay.

59
00:02:56,070 --> 00:02:58,810
‫Aber was uns hier interessiert, ist, dass wir

60
00:02:58,810 --> 00:03:01,020
‫in jedem dieser Elemente an der

61
00:03:01,020 --> 00:03:03,050
‫Body-Dot-Botschaft interessiert sind, richtig?

62
00:03:03,050 --> 00:03:05,480
‫Das haben wir früher aus jedem

63
00:03:05,480 --> 00:03:07,200
‫der Ergebnisse gelesen.

64
00:03:07,200 --> 00:03:10,320
‫Also müssen wir jetzt ein

65
00:03:10,320 --> 00:03:14,710
‫neues Array erstellen, das nur diese Body-Dot-Nachrichten enthält.

66
00:03:14,710 --> 00:03:15,623
‫Okay, sinnvoll?

67
00:03:17,940 --> 00:03:20,090
‫Und lassen Sie uns dafür Karten verwenden.

68
00:03:20,090 --> 00:03:23,270
‫Also Bilder und alle

69
00:03:23,270 --> 00:03:24,103
‫Punktkarten.

70
00:03:24,103 --> 00:03:27,470
‫Und ich hoffe, dass Sie mit all diesen Array-Methoden

71
00:03:27,470 --> 00:03:28,700
‫vertraut sind.

72
00:03:28,700 --> 00:03:32,270
‫Maps durchlaufen also das Array all und den

73
00:03:32,270 --> 00:03:35,960
‫Sicherheitswert, den wir in jeder Iteration zurückgeben, in

74
00:03:35,960 --> 00:03:39,260
‫ein neues Array namens images, okay.

75
00:03:39,260 --> 00:03:41,630
‫Und der aktuelle Wert in

76
00:03:41,630 --> 00:03:44,260
‫jeder Iteration heißt Element und was wir

77
00:03:44,260 --> 00:03:47,123
‫zurückgeben, ist Element Punkt Körper Punkt Nachricht.

78
00:03:48,900 --> 00:03:50,860
‫Okay, das ist grundlegendes

79
00:03:50,860 --> 00:03:54,760
‫JavaScript, und Sie sollten mit solchen Dingen inzwischen vertraut sein.

80
00:03:54,760 --> 00:03:55,593
‫In Ordung.

81
00:03:56,610 --> 00:04:00,223
‫Also, wenn wir uns jetzt Bilder anschauen, dann sollte das,

82
00:04:02,200 --> 00:04:03,750
‫naja, wo ist das?

83
00:04:03,750 --> 00:04:06,860
‫Oh, alle Punktkarten, oh, natürlich sind es keine Karten, es

84
00:04:06,860 --> 00:04:08,653
‫sind nur Karten, sorry dafür.

85
00:04:11,100 --> 00:04:14,200
‫Und hier haben wir nun tatsächlich unser Array

86
00:04:14,200 --> 00:04:15,860
‫mit diesen drei Bildern.

87
00:04:15,860 --> 00:04:18,000
‫Also, großartig, es sind drei verschiedene Bilder.

88
00:04:18,000 --> 00:04:19,210
‫Und jetzt müssen

89
00:04:19,210 --> 00:04:22,060
‫wir sie nur noch in unserer Datei speichern.

90
00:04:22,060 --> 00:04:24,810
‫Im Moment erhalten wir also immer noch res als nicht definiert

91
00:04:24,810 --> 00:04:27,080
‫und das liegt daran, dass wir immer noch versuchen,

92
00:04:27,080 --> 00:04:29,130
‫res dot body dot message zu schreiben.

93
00:04:29,130 --> 00:04:32,473
‫Aber res existiert nicht, deshalb bekommen wir diesen Fehler.

94
00:04:33,620 --> 00:04:36,110
‫Stattdessen wollen wir hier einen

95
00:04:37,129 --> 00:04:40,653
‫String schreiben, der im Grunde diese drei Strings enthält.

96
00:04:42,110 --> 00:04:45,823
‫Was wir also tun, ist, dass Bilder nicht zusammengefügt werden.

97
00:04:48,400 --> 00:04:50,360
‫Und wir werden uns ihnen

98
00:04:50,360 --> 00:04:52,770
‫anschließen, indem wir ein neues Linienzeichen dazwischen setzen.

99
00:04:52,770 --> 00:04:57,440
‫Also umgekehrter Schrägstrich n bedeutet eine neue Zeile, okay.

100
00:04:57,440 --> 00:05:00,750
‫Und damit werden diese drei Saiten im Grunde genommen,

101
00:05:00,750 --> 00:05:03,430
‫jede in eine neue Zeile, in Ordnung.

102
00:05:03,430 --> 00:05:07,420
‫Also join, verbindet die drei Strings zu einem

103
00:05:07,420 --> 00:05:11,520
‫neuen String und verbindet sie mit einem neuen Zeilenzeichen dazwischen.

104
00:05:11,520 --> 00:05:14,823
‫Okay, und das sollte den Zweck erfüllen.

105
00:05:15,670 --> 00:05:16,503
‫Sparen Sie.

106
00:05:17,760 --> 00:05:21,220
‫Und ja, jetzt heißt es zufälliges Punktbild in Datei gespeichert,

107
00:05:21,220 --> 00:05:22,390
‫keine Fehler mehr.

108
00:05:22,390 --> 00:05:25,670
‫Werfen wir einen Blick darauf, Punktbild, und es tat, los geht's.

109
00:05:25,670 --> 00:05:27,290
‫Und wir haben drei verschiedene Bilder.

110
00:05:27,290 --> 00:05:32,010
‫Erst dieser, dann dieser Typ und schließlich der dritte.

111
00:05:32,010 --> 00:05:33,950
‫Also drei verschiedene Hundebilder.

112
00:05:33,950 --> 00:05:36,200
‫Und wir haben sie alle

113
00:05:36,200 --> 00:05:39,830
‫gleichzeitig bekommen, indem wir Promise Dot All verwendet haben, okay.

114
00:05:39,830 --> 00:05:43,320
‫Ich hoffe, das war sinnvoll und ich hoffe tatsächlich, dass dieser

115
00:05:43,320 --> 00:05:46,140
‫gesamte Abschnitt für Sie sinnvoll war, denn von nun

116
00:05:46,140 --> 00:05:48,680
‫an gehe ich davon aus, dass Sie

117
00:05:48,680 --> 00:05:51,430
‫die Grundlagen von Versprechen und einer einzigen Wartezeit kennen.

118
00:05:51,430 --> 00:05:53,290
‫Und wir werden sie

119
00:05:53,290 --> 00:05:55,860
‫für den Rest des Kurses verwenden,

120
00:05:55,860 --> 00:05:58,830
‫vorausgesetzt, Sie wissen, was wir tun, okay.

121
00:05:58,830 --> 00:06:01,000
‫Und Node unterstützt tatsächlich seit

122
00:06:01,000 --> 00:06:03,330
‫seiner Version sieben Punkt sechs ein einziges

123
00:06:03,330 --> 00:06:05,773
‫Warten, sodass wir es jetzt problemlos verwenden können.

