﻿1
00:00:01,030 --> 00:00:02,780
‫Jonas: Seperti yang dijanjikan, sekarang

2
00:00:02,780 --> 00:00:06,083
‫kita akan menggunakan event emitter dan listener dalam praktiknya, dan

3
00:00:07,500 --> 00:00:10,203
‫kita mulai dengan membuat file baru di sini.

4
00:00:11,770 --> 00:00:15,470
‫Jadi acara. js dan tutup yang ini.

5
00:00:15,470 --> 00:00:18,250
‫Jadi untuk menggunakan event node bawaan,

6
00:00:18,250 --> 00:00:20,743
‫kita perlu membutuhkan modul event, dan

7
00:00:21,890 --> 00:00:22,880
‫dari

8
00:00:22,880 --> 00:00:25,533
‫situ kita akan membutuhkan kelas EventEmitter.

9
00:00:27,580 --> 00:00:30,300
‫Jadi, EventEmitter, ini adalah semacam

10
00:00:30,300 --> 00:00:34,743
‫nama standar untuk hasil dari membutuhkan modul event ini.

11
00:00:35,740 --> 00:00:38,890
‫Jadi sekali lagi ini adalah modul node bawaan, oke?

12
00:00:38,890 --> 00:00:40,600
‫Dan sekarang untuk membuat emitor

13
00:00:40,600 --> 00:00:42,940
‫baru, kita cukup membuat sebuah instance pada

14
00:00:42,940 --> 00:00:45,530
‫dasarnya dari kelas yang baru saja kita impor.

15
00:00:45,530 --> 00:00:47,273
‫Jadi sangat

16
00:00:49,470 --> 00:00:52,160
‫sederhana myEmitter adalah EventEmitter baru.

17
00:00:52,160 --> 00:00:56,240
‫Jadi EventEmitter seperti ini.

18
00:00:56,240 --> 00:00:58,580
‫Jadi ingat dari video terakhir

19
00:00:58,580 --> 00:01:01,690
‫bahwa EventEmitters dapat memancarkan peristiwa bernama, dan kita

20
00:01:01,690 --> 00:01:04,090
‫kemudian dapat berlangganan peristiwa ini, jadi

21
00:01:04,090 --> 00:01:05,870
‫pada dasarnya dengarkan

22
00:01:05,870 --> 00:01:08,840
‫mereka, lalu bereaksi sesuai dengan itu, oke?

23
00:01:08,840 --> 00:01:10,990
‫Jadi ini seperti menyiapkan EventListener

24
00:01:10,990 --> 00:01:13,570
‫pada elemen bodoh, misalnya, untuk mengklik

25
00:01:13,570 --> 00:01:15,800
‫tombol, dan saya yakin Anda

26
00:01:15,800 --> 00:01:17,360
‫pernah melakukannya sebelumnya,

27
00:01:17,360 --> 00:01:20,700
‫saat bekerja dengan JavaScript di sisi klien, bukan?

28
00:01:20,700 --> 00:01:22,590
‫Jadi emitor kita pada

29
00:01:22,590 --> 00:01:25,000
‫akhirnya akan memancarkan peristiwa bernama, oke?

30
00:01:25,000 --> 00:01:26,093
‫Jadi mari

31
00:01:27,050 --> 00:01:29,230
‫kita atur itu, dan

32
00:01:29,230 --> 00:01:34,230
‫anggap saja kita sedang membangun toko online atau semacamnya, oke?

33
00:01:34,390 --> 00:01:37,277
‫Jadi kita bisa mengatakan myEmitter. emit(), dan kemudian

34
00:01:37,277 --> 00:01:42,277
‫kita dapat membuat nama acara apa pun yang kita inginkan, oke?

35
00:01:43,690 --> 00:01:48,040
‫Jadi kami ingin mengeluarkan acara yang disebut newSale, oke?

36
00:01:48,040 --> 00:01:50,410
‫Dan menggunakan contoh mengklik

37
00:01:50,410 --> 00:01:52,470
‫tombol yang saya

38
00:01:52,470 --> 00:01:57,250
‫gunakan sebelumnya, pancaran ini di sini seolah-olah kita mengklik

39
00:01:57,250 --> 00:02:01,820
‫tombol, dan sekarang kita harus menyiapkan pendengar ini, oke?

40
00:02:01,820 --> 00:02:03,820
‫Dan biarkan saya melakukannya

41
00:02:04,760 --> 00:02:09,000
‫sebelum di sini, dan sekali lagi kita menggunakan objek myEmitter kita.

42
00:02:09,000 --> 00:02:12,470
‫Masukkan bahwa kita menggunakan metode on, oke?

43
00:02:12,470 --> 00:02:17,330
‫Jadi pada newSale dan kemudian fungsi panggilan balik ,

44
00:02:17,330 --> 00:02:21,673
‫yang akan dieksekusi segera setelah acara dipancarkan.

45
00:02:23,960 --> 00:02:28,287
‫Jadi seperti biasanya, mari kita langsung ke konsol.

46
00:02:28,287 --> 00:02:31,810
‫"Ada penjualan baru! "Oke, dan

47
00:02:31,810 --> 00:02:35,400
‫mari kita tambahkan satu lagi.

48
00:02:35,400 --> 00:02:37,060
‫Jadi ingat bahwa saya katakan

49
00:02:37,060 --> 00:02:40,850
‫sebelumnya bahwa salah satu hal yang baik tentang pemancar acara ini adalah bahwa

50
00:02:40,850 --> 00:02:42,000
‫kita benar-benar dapat

51
00:02:42,000 --> 00:02:44,153
‫menyiapkan beberapa pendengar untuk acara yang sama.

52
00:02:45,350 --> 00:02:46,643
‫Jadi mari

53
00:02:48,330 --> 00:02:50,220
‫kita lakukan itu di sini,

54
00:02:50,220 --> 00:02:52,413
‫dan sekali lagi, tentu saja, kita

55
00:02:53,308 --> 00:02:55,391
‫mendengarkan acara newSale, (mengetik) dan kemudian

56
00:02:57,608 --> 00:02:59,370
‫mencatat sesuatu yang lain.

57
00:02:59,370 --> 00:03:01,200
‫Tidak terlalu penting di sini.

58
00:03:01,200 --> 00:03:04,520
‫Jadi '"Nama pelanggan:', misalnya 'Jonas"'.

59
00:03:04,520 --> 00:03:06,510
‫Jadi, mari kita uji ini,

60
00:03:06,510 --> 00:03:08,370
‫hapus yang sebelumnya, dan

61
00:03:08,370 --> 00:03:09,530
‫kita menggunakan

62
00:03:09,530 --> 00:03:12,323
‫node, lalu event. js.

63
00:03:13,250 --> 00:03:16,900
‫Jadi, Ada penjualan dan nama Pelanggan: Jonas, dan

64
00:03:16,900 --> 00:03:19,830
‫Anda sudah melihat bahwa itu berfungsi.

65
00:03:19,830 --> 00:03:24,170
‫Jadi, bagus, jadi ini pola pengamat, ingat?

66
00:03:24,170 --> 00:03:28,660
‫Di mana yang ini di sini adalah objek yang memancarkan peristiwa, dan

67
00:03:28,660 --> 00:03:29,740
‫kemudian dua

68
00:03:29,740 --> 00:03:31,750
‫ini di sini, jadi ini dan

69
00:03:31,750 --> 00:03:33,250
‫ini, ini adalah pengamat.

70
00:03:33,250 --> 00:03:34,950
‫Mereka mengamati

71
00:03:34,950 --> 00:03:39,060
‫emitor dan menunggu sampai memancarkan event newSale.

72
00:03:39,060 --> 00:03:42,710
‫Dan, tentu saja, emitor kita juga bisa memancarkan peristiwa lain.

73
00:03:42,710 --> 00:03:46,630
‫Seperti pelanggan baru atau pesanan baru atau semacamnya, dan

74
00:03:46,630 --> 00:03:50,950
‫kami kemudian dapat menambahkan pendengar untuk yang itu juga, oke?

75
00:03:50,950 --> 00:03:52,860
‫Sekarang hal lain yang ingin

76
00:03:52,860 --> 00:03:56,580
‫saya tunjukkan kepada Anda adalah bahwa kita bahkan dapat

77
00:03:56,580 --> 00:03:58,450
‫meneruskan argumen ke EventListener

78
00:03:58,450 --> 00:04:02,160
‫dengan meneruskannya sebagai argumen tambahan di emitor, di sini.

79
00:04:02,160 --> 00:04:05,260
‫Jadi katakanlah itu melewati sembilan, jadi dalam hal

80
00:04:05,260 --> 00:04:06,900
‫ini hanya sebuah angka,

81
00:04:06,900 --> 00:04:10,013
‫dan kami kemudian memiliki pendengar yang ingin menggunakannya.

82
00:04:10,848 --> 00:04:12,520
‫(mengetik) Jadi myEmitter,

83
00:04:12,520 --> 00:04:14,529
‫(mengetik) newSale, dan

84
00:04:14,529 --> 00:04:16,612
‫sekarang fungsi panggilan

85
00:04:17,553 --> 00:04:18,710
‫balik

86
00:04:18,710 --> 00:04:22,080
‫ini dapat mengambil argumen, jadi sebut

87
00:04:22,080 --> 00:04:23,713
‫saja stok.

88
00:04:25,460 --> 00:04:28,940
‫Jadi pada dasarnya jumlah barang yang

89
00:04:29,910 --> 00:04:33,560
‫tersisa dari produk yang kami jual di sini.

90
00:04:33,560 --> 00:04:35,300
‫Mari kita gunakan string template.

91
00:04:35,300 --> 00:04:37,430
‫Sekarang ada stok

92
00:04:39,970 --> 00:04:42,690
‫barang yang tersisa di

93
00:04:45,240 --> 00:04:46,115
‫stok.

94
00:04:46,115 --> 00:04:48,640
‫Jadi, jika kita menjalankan ini sekarang, kita

95
00:04:48,640 --> 00:04:51,620
‫akan melihat Sekarang ada sembilan item yang tersisa

96
00:04:51,620 --> 00:04:54,130
‫di stok karena kami mengeluarkan acara ini

97
00:04:54,130 --> 00:04:56,210
‫pada dasarnya dengan sembilan, dan

98
00:04:56,210 --> 00:04:58,500
‫pendengar kemudian dapat mengambil nilai ini

99
00:04:58,500 --> 00:05:01,490
‫di sini sebagai argumen dari fungsi panggilan balik mereka.

100
00:05:01,490 --> 00:05:03,860
‫Jadi variabel saham ini di sini dalam hal ini.

101
00:05:03,860 --> 00:05:05,260
‫Jadi jika Anda menjalankan ini

102
00:05:05,260 --> 00:05:07,940
‫lagi, maka di sini Ada sembilan item yang tersisa di saham.

103
00:05:07,940 --> 00:05:10,730
‫Jadi, sempurna, dan Anda melihat bahwa ketiga

104
00:05:10,730 --> 00:05:13,554
‫log ini muncul dalam urutan yang sama persis

105
00:05:13,554 --> 00:05:16,050
‫dengan yang dideklarasikan dalam kode, oke?

106
00:05:16,050 --> 00:05:17,770
‫Dan itulah perilaku normalnya.

107
00:05:17,770 --> 00:05:20,509
‫Jika kita memiliki beberapa pendengar untuk acara yang sama,

108
00:05:20,509 --> 00:05:22,510
‫maka mereka akan berjalan secara sinkron.

109
00:05:22,510 --> 00:05:24,930
‫Jadi satu demi satu dalam urutan bahwa

110
00:05:24,930 --> 00:05:26,780
‫mereka berada dalam kode.

111
00:05:26,780 --> 00:05:29,600
‫Jadi contoh kecil ini sudah bekerja

112
00:05:29,600 --> 00:05:32,440
‫dengan sempurna, tetapi jika Anda menggunakan pola ini

113
00:05:32,440 --> 00:05:35,490
‫dalam kehidupan nyata, maka itu adalah praktik terbaik untuk

114
00:05:35,490 --> 00:05:38,900
‫membuat kelas baru yang sebenarnya akan mewarisi dari node EventEmitter.

115
00:05:38,900 --> 00:05:40,793
‫Jadi, sesuatu seperti ini.

116
00:05:41,729 --> 00:05:44,320
‫(mengetik) Jadi katakanlah

117
00:05:44,320 --> 00:05:49,247
‫kelas Sales memperluas EventEmitter, dan itu adalah

118
00:05:50,800 --> 00:05:55,800
‫sintaks ES6 atau ES2015 untuk pewarisan kelas.

119
00:05:56,000 --> 00:05:57,800
‫Dan sekali lagi, saya harap

120
00:05:57,800 --> 00:06:01,700
‫Anda sudah familiar dengan ES6 pada saat Anda mengambil kursus ini, oke?

121
00:06:01,700 --> 00:06:05,760
‫Jadi dalam istilah hafalan, EventEmitter adalah sebuah kelas, jadi yang

122
00:06:05,760 --> 00:06:07,920
‫kami impor dari acara ke

123
00:06:07,920 --> 00:06:09,330
‫kelas penjualan

124
00:06:09,330 --> 00:06:11,230
‫kami, adalah kelas baru

125
00:06:11,230 --> 00:06:13,070
‫yang kami buat, dan

126
00:06:13,070 --> 00:06:15,930
‫yang mewarisi semuanya dari kelas EventEmitter, oke?

127
00:06:15,930 --> 00:06:19,110
‫Kemudian di ES6 setiap kelas mendapat konstruktor

128
00:06:19,110 --> 00:06:20,623
‫yang merupakan fungsi

129
00:06:20,623 --> 00:06:25,120
‫yang dijalankan segera setelah kita membuat objek baru dari kelas, oke?

130
00:06:25,120 --> 00:06:27,863
‫Dan yang perlu kita lakukan di sini adalah

131
00:06:28,780 --> 00:06:31,000
‫memanggil super, dan itu adalah

132
00:06:31,000 --> 00:06:35,130
‫sesuatu yang selalu harus kita lakukan ketika kita memperluas superclass lain, oke?

133
00:06:35,130 --> 00:06:36,330
‫Jadi ini

134
00:06:36,330 --> 00:06:38,420
‫adalah kelas induknya, dan ini adalah

135
00:06:38,420 --> 00:06:39,950
‫kelas supernya, dan dengan

136
00:06:39,950 --> 00:06:43,920
‫menjalankan super, kita kemudian mendapatkan akses ke semua metode kelas induk.

137
00:06:43,920 --> 00:06:47,210
‫Jadi, sekali lagi, EventEmitter dalam hal ini, oke?

138
00:06:47,210 --> 00:06:50,229
‫Dan sekarang yang harus kita

139
00:06:50,229 --> 00:06:52,780
‫lakukan adalah benar-benar memindahkan

140
00:06:52,780 --> 00:06:55,240
‫yang ini, (mengklik)

141
00:06:55,240 --> 00:07:00,240
‫dan sekarang emitor saya adalah Penjualan baru, oke?

142
00:07:01,260 --> 00:07:03,912
‫Jadi sekarang ini akan bekerja sama persis,

143
00:07:03,912 --> 00:07:06,350
‫dan memang, ini dia, dan

144
00:07:06,350 --> 00:07:09,560
‫sebenarnya mekanisme yang baru saja saya tunjukkan di sini.

145
00:07:09,560 --> 00:07:13,130
‫Jadi pada dasarnya memperluas kelas EventEmitter adalah persis

146
00:07:13,130 --> 00:07:15,410
‫bagaimana modul simpul yang

147
00:07:15,410 --> 00:07:20,180
‫berbeda, seperti HTTP, sistem file, dan banyak modul inti simpul

148
00:07:20,180 --> 00:07:23,060
‫lainnya mengimplementasikan peristiwa secara internal, oke?

149
00:07:23,060 --> 00:07:24,740
‫Jadi semuanya benar-benar

150
00:07:24,740 --> 00:07:26,833
‫mewarisi dari kelas EventEmitter.

151
00:07:26,833 --> 00:07:29,420
‫Oke, dan dengan contoh kecil ini

152
00:07:29,420 --> 00:07:32,240
‫berhasil, sekarang mari kita coba hal lain.

153
00:07:32,240 --> 00:07:35,700
‫Jadi, karena saya baru saja berbicara tentang modul

154
00:07:35,700 --> 00:07:38,610
‫HTTP, izinkan saya menunjukkan kepada

155
00:07:38,610 --> 00:07:42,190
‫Anda bahwa itu sepenuhnya didasarkan pada peristiwa, oke?

156
00:07:42,190 --> 00:07:44,180
‫Jadi kita memiliki bagian ini bekerja.

157
00:07:44,180 --> 00:07:47,173
‫Mari kita buat beberapa komentar di sini,

158
00:07:48,520 --> 00:07:51,780
‫sesuatu, dan kemudian buat contoh lain di sini, oke?

159
00:07:51,780 --> 00:07:53,530
‫Dan yang akan

160
00:07:53,530 --> 00:07:56,080
‫kita lakukan pada dasarnya adalah membuat

161
00:07:56,080 --> 00:08:00,770
‫server web kecil, dan kemudian benar-benar mendengarkan acara yang dipancarkannya, oke?

162
00:08:00,770 --> 00:08:04,793
‫Jadi, di sini kita perlu mengimpor modul HTTP,

163
00:08:06,480 --> 00:08:08,563
‫(mengetik) Dan kemudian

164
00:08:11,856 --> 00:08:14,606
‫di sini kita bisa menggunakannya.

165
00:08:16,120 --> 00:08:17,690
‫Jadi kita sedang

166
00:08:17,690 --> 00:08:19,980
‫membuat server, dan sekarang saya akan

167
00:08:19,980 --> 00:08:23,870
‫melakukannya sedikit berbeda dari yang kita lakukan di persimpangan pertama, oke?

168
00:08:23,870 --> 00:08:26,380
‫Tapi itu sebenarnya bekerja dengan cara yang sama persis.

169
00:08:26,380 --> 00:08:30,030
‫Jadi yang akan saya lakukan di sini sekarang adalah http. createserver dan seperti ini,

170
00:08:32,630 --> 00:08:34,040
‫dan sekarang

171
00:08:34,040 --> 00:08:35,830
‫yang akan saya lakukan

172
00:08:35,830 --> 00:08:38,400
‫adalah mendengarkan berbagai event yang akan

173
00:08:38,400 --> 00:08:40,113
‫dipancarkan oleh server.

174
00:08:41,490 --> 00:08:44,040
‫Jadi untuk itu, sekali lagi, saya menggunakan,

175
00:08:44,040 --> 00:08:47,810
‫dan jika Anda melihat . di mana saja dalam

176
00:08:47,810 --> 00:08:50,510
‫proyek simpul, maka Anda sudah tahu

177
00:08:50,510 --> 00:08:55,510
‫bahwa Anda sedang mendengarkan, atau bahwa kodenya sedang mendengarkan suatu acara, oke?

178
00:08:56,210 --> 00:08:58,310
‫Jadi yang kita

179
00:08:58,310 --> 00:09:02,170
‫dengarkan di sini adalah acara permintaan, oke?

180
00:09:02,170 --> 00:09:04,600
‫Dan sekarang ini berfungsi sama seperti

181
00:09:04,600 --> 00:09:05,870
‫sebelumnya kami memiliki

182
00:09:05,870 --> 00:09:09,640
‫fungsi panggilan balik yang mendapatkan akses ke permintaan dan respons.

183
00:09:09,640 --> 00:09:12,140
‫Jadi tidak ada yang Anda lakukan

184
00:09:12,140 --> 00:09:16,223
‫saat ini kami melakukan hal itu di proyek node farm, oke?

185
00:09:17,120 --> 00:09:19,460
‫Jadi, konsol. log

186
00:09:19,460 --> 00:09:21,543
‫(mengetik) "permintaan diterima" dan

187
00:09:22,687 --> 00:09:26,333
‫kemudian mari kita juga mengirim sesuatu kembali.

188
00:09:27,650 --> 00:09:29,733
‫(mengetik) Hanya teks

189
00:09:30,960 --> 00:09:33,610
‫yang sama sebenarnya, oke?

190
00:09:33,610 --> 00:09:36,720
‫Dan, tentu saja, kita dapat mendengarkan

191
00:09:36,720 --> 00:09:39,481
‫beberapa kali acara yang sama.

192
00:09:39,481 --> 00:09:41,210
‫(mengklik) Jadi katakan saja

193
00:09:41,210 --> 00:09:43,723
‫di sini "Permintaan lain" menggunakan beberapa

194
00:09:47,450 --> 00:09:51,850
‫emoji di sini hanya untuk membuatnya sedikit lebih menonjol, dan itu

195
00:09:51,850 --> 00:09:53,080
‫tidak muncul.

196
00:09:53,080 --> 00:09:54,233
‫Apa yang terjadi di sini?

197
00:09:55,500 --> 00:09:56,333
‫Ah, ini dia.

198
00:09:57,700 --> 00:09:59,420
‫Jadi, mendengarkan permintaan,

199
00:09:59,420 --> 00:10:02,563
‫dan kami juga dapat mendengarkan acara dekat.

200
00:10:04,020 --> 00:10:07,970
‫Jadi, server ditutup, dan itu adalah

201
00:10:07,970 --> 00:10:09,530
‫peristiwa yang

202
00:10:09,530 --> 00:10:14,530
‫dipicu ketika server, seperti yang dapat Anda bayangkan, ditutup.

203
00:10:14,616 --> 00:10:16,699
‫(mengetik) Oke, jadi

204
00:10:18,500 --> 00:10:21,740
‫itu mendengarkan acara, dan sekarang,

205
00:10:21,740 --> 00:10:23,500
‫ingat, kita

206
00:10:23,500 --> 00:10:26,620
‫juga harus benar-benar memulai server.

207
00:10:26,620 --> 00:10:28,290
‫Jadi, dan kami memulai server

208
00:10:28,290 --> 00:10:30,613
‫dengan menggunakan server. dengarkan, berikan

209
00:10:32,990 --> 00:10:36,520
‫port, alamat yang merupakan localhost lagi untuk kami

210
00:10:36,520 --> 00:10:38,463
‫dalam hal ini, poin

211
00:10:39,340 --> 00:10:43,260
‫satu, dan kemudian, fungsi panggilan balik kami yang opsional tetapi

212
00:10:44,170 --> 00:10:46,670
‫mari kita sertakan di sini lagi.

213
00:10:47,722 --> 00:10:49,805
‫(mengetik) "Menunggu

214
00:10:54,057 --> 00:10:56,340
‫permintaan... "Jadi,

215
00:10:56,340 --> 00:10:58,073
‫mari kita mulai ini,

216
00:10:59,550 --> 00:11:02,360
‫dan kita lihat Menunggu permintaan... dan aplikasi tidak mati, dan sekarang Anda

217
00:11:02,360 --> 00:11:04,830
‫tahu mengapa tidak mati, kan?

218
00:11:04,830 --> 00:11:08,210
‫Itu karena loop acara masih menunggu

219
00:11:08,210 --> 00:11:10,510
‫I/O yang masuk, kan?

220
00:11:10,510 --> 00:11:13,600
‫Jadi itulah yang kami pelajari di acara loop lectures, oke?

221
00:11:13,600 --> 00:11:17,430
‫Sekarang mari kita lakukan permintaan pada port 8.000 pada URL ini.

222
00:11:17,430 --> 00:11:22,177
‫(mengklik) (mengetik) Dan

223
00:11:22,177 --> 00:11:26,544
‫ini dia.

224
00:11:29,000 --> 00:11:29,833
‫Jadi, kita melihat Permintaan diterima.

225
00:11:29,833 --> 00:11:33,100
‫Jadi ini berhasil karena begitu ada permintaan

226
00:11:33,100 --> 00:11:36,659
‫baru, server secara otomatis mengeluarkan objek permintaan, oke?

227
00:11:36,659 --> 00:11:41,659
‫Dan kita dapat melihatnya di sini tentu saja, dan di sini di

228
00:11:42,030 --> 00:11:44,450
‫konsol, kita melihat string Permintaan

229
00:11:44,450 --> 00:11:45,600
‫yang diterima.

230
00:11:45,600 --> 00:11:48,193
‫Saya sebenarnya ingin mendapatkan satu lagi di sini.

231
00:11:49,130 --> 00:11:51,831
‫Jadi, tentu saja, kami hanya dapat mengirim satu tanggapan.

232
00:11:51,831 --> 00:11:56,135
‫Jadi di sini saya harus memiliki konsol lain. log sebagai gantinya.

233
00:11:56,135 --> 00:12:00,973
‫Jadi biarkan, keluar dari ini, mulai

234
00:12:03,000 --> 00:12:06,533
‫lagi, muat ulang, dan, ya, jadi sekarang kita menerima

235
00:12:08,190 --> 00:12:09,023
‫Permintaan,

236
00:12:10,340 --> 00:12:12,790
‫yang berasal dari EventListener pertama ini, dan

237
00:12:12,790 --> 00:12:15,170
‫permintaan lain dari EventListener kedua ini.

238
00:12:15,170 --> 00:12:18,930
‫Satu hal yang mungkin Anda perhatikan adalah bahwa masing-masing di sini

239
00:12:18,930 --> 00:12:20,690
‫sebenarnya dicatat dua kali.

240
00:12:20,690 --> 00:12:24,750
‫Jadi itu berarti server sebenarnya memancarkan acara

241
00:12:24,750 --> 00:12:27,720
‫permintaan dua kali juga.

242
00:12:27,720 --> 00:12:31,000
‫Jadi mari kita lihat mengapa demikian.

243
00:12:31,000 --> 00:12:33,104
‫(mengetik)

244
00:12:33,104 --> 00:12:35,930
‫Jadi konsol. log, permintaan. url.

245
00:12:35,930 --> 00:12:40,643
‫Jadi dengan itu, kita sekarang

246
00:12:41,510 --> 00:12:43,240
‫bisa mendapatkan akses ke URL permintaan.

247
00:12:43,240 --> 00:12:46,264
‫(mengklik) Mari kita berhenti

248
00:12:46,264 --> 00:12:49,230
‫di sini.

249
00:12:49,230 --> 00:12:50,300
‫Jalankan lagi, muat

250
00:12:50,300 --> 00:12:51,373
‫ulang, dan kami

251
00:12:53,030 --> 00:12:53,863
‫memiliki

252
00:12:54,970 --> 00:12:58,300
‫satu untuk URL root, dan satu lagi untuk favicon. ico Jadi browser secara otomatis mencoba

253
00:12:58,300 --> 00:13:01,510
‫meminta favicon

254
00:13:01,510 --> 00:13:03,880
‫untuk setiap situs web, oke?

255
00:13:03,880 --> 00:13:07,140
‫Jadi itulah mengapa masing-masing muncul dua kali sebenarnya, oke?

256
00:13:07,140 --> 00:13:12,140
‫Jadi, Anda lihat bahwa tidak selalu kita harus benar-benar

257
00:13:12,500 --> 00:13:14,520
‫juga memancarkan peristiwa.

258
00:13:14,520 --> 00:13:18,020
‫Itu lebih ketika kita mencoba menggunakan EventEmitter kita sendiri.

259
00:13:18,020 --> 00:13:22,390
‫Jadi pada dasarnya, ketika kami mencoba menggunakan acara khusus

260
00:13:22,390 --> 00:13:24,520
‫kami di aplikasi kami.

261
00:13:24,520 --> 00:13:26,860
‫Dalam hal ini, tentu saja, kita harus

262
00:13:26,860 --> 00:13:27,740
‫memancarkan peristiwa

263
00:13:27,740 --> 00:13:30,450
‫itu sendiri, tetapi jika kita menggunakan modul simpul

264
00:13:30,450 --> 00:13:33,260
‫bawaan, maka fungsi-fungsi ini di sana akan berkali-kali

265
00:13:33,260 --> 00:13:35,760
‫memancarkan peristiwanya sendiri, dan yang harus kita

266
00:13:35,760 --> 00:13:37,460
‫lakukan hanyalah mendengarkan mereka.

267
00:13:37,460 --> 00:13:39,530
‫Jadi itulah tepatnya yang kami lakukan di sini,

268
00:13:39,530 --> 00:13:42,030
‫dan dengan itu, saya pikir, Anda sekarang tahu semua yang

269
00:13:42,030 --> 00:13:43,140
‫perlu Anda ketahui

270
00:13:43,140 --> 00:13:46,040
‫tentang acara, dan siap untuk ikut dengan saya ke video berikutnya.

