‫Instruktur: Dalam beberapa
‫kuliah sebelumnya, saya harap Anda
‫mulai mendapatkan dasar-dasar pengembangan Express.
‫Dan sekarang adalah waktu yang tepat untuk menyelami lebih
‫dalam tentang cara
‫kerja Express, dan untuk itu kita perlu
‫berbicara tentang middleware dan siklus permintaan-respons.
‫Jadi sebenarnya inti dari pengembangan Express
‫adalah
‫memahami dan kemudian menggunakan siklus permintaan-tanggapan.
‫Jadi saya ingin membuat ide itu
‫benar-benar jelas secara visual dalam video ini.
‫Jadi untuk memulai siklus permintaan-respons,
‫atau aplikasi Express menerima permintaan ketika seseorang menyentuh server
‫yang kemudian akan membuat objek
‫permintaan dan respons.
‫Data itu kemudian akan digunakan
‫dan diproses untuk menghasilkan dan mengirim kembali respons yang berarti.
‫Sekarang, untuk memproses data itu,
‫di Express kami menggunakan sesuatu yang disebut
‫middleware, yang dapat memanipulasi permintaan atau objek respons.
‫Atau benar-benar mengeksekusi kode lain yang kita suka.
‫Jadi middleware tidak selalu
‫hanya tentang permintaan atau objek
‫respons, tetapi biasanya sebagian besar tentang permintaan.
‫Dan sebenarnya, kami sudah menggunakan middleware sebelumnya.
‫Kami menggunakan Express dot JSON untuk mendapatkan akses ke badan permintaan
‫pada objek permintaan.
‫Ingat itu?
‫Sekarang disebut middleware ingat
‫karena itu adalah fungsi yang dijalankan antara,
‫jadi di tengah menerima permintaan
‫dan mengirim respons.
‫Dan sebenarnya, kita dapat mengatakan bahwa di
‫Express, semuanya adalah middleware.
‫Bahkan definisi rute kami.
‫Jadi sekali lagi, bahkan ketika kita mendefinisikan rute
‫kita, kita dapat menganggap fungsi pengendali rute yang kita tulis
‫sebagai fungsi middleware.
‫Mereka hanyalah fungsi
‫middleware yang hanya dijalankan untuk rute tertentu.
‫Oke?
‫Sekarang beberapa contoh middleware adalah Express dot JSON, yang
‫juga disebut body-parser, dan yang
‫sudah kita gunakan sebelumnya.
‫Atau beberapa fungsi logging,
‫atau menyetel beberapa header http tertentu.
‫Kemungkinannya benar-benar tidak terbatas dengan middleware.
‫Baiklah, dan sekarang dalam istilah yang lebih
‫teknis, kami mengatakan bahwa semua middleware
‫bersama yang kami
‫gunakan di aplikasi kami, disebut middleware Stack.
‫Apa yang sangat penting untuk diingat
‫di sini, adalah bahwa urutan middleware
‫dalam tumpukan, sebenarnya ditentukan oleh urutan
‫mereka didefinisikan dalam kode.
‫Jadi middleware yang muncul pertama kali
‫dalam kode, dieksekusi sebelum yang muncul kemudian.
‫Jadi urutan kode sangat penting di Express.
‫Oke?
‫Sekarang, Anda dapat memikirkan seluruh proses seperti ini, objek
‫permintaan dan respons kami
‫yang dibuat pada
‫awalnya melewati setiap middleware tempat mereka diproses, atau
‫di mana hanya beberapa kode lain yang dieksekusi.
‫Kemudian di akhir setiap fungsi middleware, fungsi
‫berikutnya dipanggil, yang merupakan
‫fungsi yang dapat kita akses di
‫setiap fungsi middleware.
‫Sama seperti objek request dan response.
‫Dan tentu saja kita akan melihat ini dalam kode di video berikutnya.
‫Jadi ketika kita memanggil fungsi
‫berikutnya, middleware berikutnya dalam stack akan dieksekusi
‫dengan objek request dan response yang sama persis.
‫Dan itu terjadi dengan semua middlewares sampai
‫kita mencapai yang terakhir.
‫Dan seperti
‫ini, permintaan awal dan objek
‫respons melewati setiap middleware langkah demi langkah.
‫Dan Anda dapat menganggap
‫seluruh proses ini sebagai semacam jalur yang dilalui data
‫kami, jadi seperti yang disalurkan dari permintaan ke respons akhir.
‫Baiklah?
‫Sekarang tentang fungsi middleware terakhir itu,
‫biasanya merupakan pengendali rute seperti yang kita kodekan sebelumnya.
‫Jadi di handler ini kita sebenarnya tidak memanggil fungsi
‫next untuk pindah ke middleware berikutnya.
‫Sebagai gantinya, kami akhirnya mengirim data
‫respons kembali ke klien.
‫Dan seperti
‫ini, kami kemudian menyelesaikan apa yang disebut siklus permintaan-tanggapan.
‫Jadi siklus permintaan-tanggapan benar-benar segala sesuatu yang
‫kita bicarakan di sini bersama-sama.
‫Ini dimulai dengan permintaan yang masuk,
‫kemudian mengeksekusi semua middleware di tumpukan middleware
‫langkah demi
‫langkah, dan akhirnya mengirim respons untuk menyelesaikan siklus.
‫Jadi Anda lihat, itu benar-benar tidak rumit.
‫Ini sebenarnya hanya proses linier.
‫Tetapi saya berharap seseorang akan menunjukkan kepada saya
‫sesuatu seperti ini ketika saya belajar cara membuat aplikasi Express.
‫Maksud saya, saya
‫dapat membangunnya, tetapi pada awalnya saya
‫tidak begitu memahami seluruh siklus permintaan-tanggapan seperti ini.
‫Itu sangat membingungkan.
‫Jadi itulah mengapa saya menunjukkan ini kepada
‫Anda, karena saya yakin akan jauh, jauh, lebih mudah
‫bagi Anda untuk pindah ke
‫kursus sekarang, setelah memahami dengan tepat cara kerja aplikasi Express.