𝗛𝗮𝗿𝗶 𝗸𝗲-𝟯𝟵 𝗕𝗲𝗹𝗮𝗷𝗮𝗿 𝗠𝗘𝗥𝗡 𝗦𝘁𝗮𝗰𝗸
Saya sedang berada di hari ke-39 dalam perjalanan belajar MERN stack saya.
Kemarin saya mempelajari HTTP verbs seperti GET dan POST. Hari ini saya fokus pada operasi backend. Saya mempelajari bagaimana server menangani data streams dan body parsing.
Saat pengguna mengirimkan formulir atau file, server tidak menerimanya sekaligus. Data datang dalam potongan-potongan kecil. Potongan-potongan ini disebut chunks.
Node.js menggunakan streams untuk menghemat memori. Ia tidak langsung memuat file besar ke dalam memori server Anda. Sebaliknya, ia menangani data dalam bagian-bagian kecil.
Berikut adalah cara proses tersebut bekerja:
- Data POST yang masuk bertindak sebagai Readable Stream.
- Server menerima potongan-potongan kecil data biner.
- Anda harus mengumpulkan chunks ini sebelum menggunakan datanya.
Di Node.js, Anda tidak mendapatkan request body secara instan. Anda mendengarkan event jaringan tertentu:
req.on("data"): Event ini terpicu setiap kali chunk baru tiba. Anda menyimpan chunk ini dalam sebuah array.req.on("end"): Event ini terpicu saat stream selesai. Ini memberi tahu Anda bahwa semua data telah tiba.
Anda menggunakan Buffer.concat untuk menggabungkan potongan-potongan tersebut. Kemudian Anda mengubahnya menjadi string.
Metode ini menjaga server Anda tetap cepat dan efisien. Ini mencegah crash memori saat menangani file berukuran besar.
Sumber: https://dev.to/ali_hamza_589ec7b3eb6688d/day-39-of-learning-mern-stack-hkp