Bagaimana Cara Menggunakan Aliran yang Dapat Dibaca di Node.js?

Bagaimana Cara Menggunakan Aliran Yang Dapat Dibaca Di Node Js



Data ditransfer melalui jaringan antara sisi pengirim atau sumber dan tujuan atau penerima dalam bentuk aliran. Aliran ini dapat dibuat dan digabungkan dengan pemanfaatan beberapa metode, dan file audio atau video juga dapat diteruskan melalui aliran tersebut. Data yang dibaca dapat dimasukkan ke dalam file target lainnya menggunakan “ menulis() ' Dan ' dorongan() ” metode juga.

Panduan ini akan menjelaskan penggunaan aliran yang dapat dibaca di Node.js.

Bagaimana Cara Menggunakan Aliran yang Dapat Dibaca di Node.js?

Dapat dibaca ” aliran dibuat dengan memanggil “ buatReadStream() ” dan data yang dibaca kemudian dapat ditampilkan melalui halaman web dengan membuat server lokal. Pendengar acara dengan bantuan “ pada() ” Metode juga dapat dilampirkan ke aliran yang dapat dibaca untuk menampilkan pesan atau melakukan tindakan tertentu saat pembacaan file dimulai atau diakhiri.







Lihat contoh untuk demonstrasi praktis.



Contoh: Membaca dan Menampilkan Konten Melalui Server Menggunakan Aliran yang Dapat Dibaca

Dalam contoh ini, konten file yang disediakan sedang dibaca dan kemudian ditampilkan melalui browser web:



konstanta fsObj = memerlukan ( 'fs' ) ;

konstanta httpObj = memerlukan ( 'http' ) ;

konstanta Server lokal = httpObj. buatServer ( ( respon permintaan ) => {

mencoba {
// File yang Ditargetkan untuk Dibaca
konstanta aliran data = fsObj. buatReadStream ( 'usecase.txt' ) ;
// Pipakan file ke respon
aliran data. pipa ( tanggapan ) ;
} menangkap ( kesalahan ) {
menghibur. kesalahan ( kesalahan ) ;
}
} ) ;

Server lokal. mendengarkan ( 8080 , ( ) => {
menghibur. catatan ( 'Server Berjalan di Port Localhost Nomor: '8080' ' )
} ) ;

Penjelasan kode di atas adalah sebagai berikut:





  • Pertama, impor yang diperlukan “ fs ' Dan ' http ” modul dan simpan objeknya di “ fsObj ' Dan ' httpObj ” masing-masing variabel.
  • Selanjutnya, server telah dibuat dengan memanggil “ buatServer() ” metode dan menyimpan server yang baru dibuat ini di “ Server lokal ' variabel.
  • Kemudian, gunakan “ mencoba ” memblokir di dalam fungsi panggilan balik metode dan memanggil “ buatReadStream() ” metode menggunakan “ fsObj ' variabel.
  • Lewatkan konten file yang ditargetkan yang perlu dibaca di dalam tanda kurung metode ini dan simpan hasilnya di “ aliran data ' variabel.
  • Masukkan “ aliran data ” variabel ke dalam “ .pipa() ” metode untuk mengirim respons.
  • Manfaatkan “ menangkap ” blok untuk menangani kesalahan yang terjadi.
  • Terakhir, dengarkan atau atur server melalui nomor port “ 8080 ” dan menampilkan pesan sukses dengan bantuan fungsi panggilan baliknya.

Jalankan file yang berisi (controlFlow.js) dari kode di atas melalui perintah di bawah ini:

aliran kontrol simpul. js

Output yang dihasilkan menunjukkan bahwa dengan bantuan “ .pipa() ' Dan ' Aliran yang Dapat Dibaca ”, data file telah dibaca dan dikirim ke aliran tujuan untuk ditampilkan melalui halaman web:



Contoh 2: Membaca File Statis Secara Lokal Menggunakan ReadStream

Dalam hal ini, file yang disediakan melalui aliran dipilih dan kontennya kemudian ditampilkan melalui jendela konsol dengan bantuan pendengar acara:

konstanta fsObj = memerlukan ( 'fs' ) ;

konstanta aliranObj = fsObj. buatReadStream ( 'usecase.txt' ) ;

aliranObj. pada ( 'data' , ( isi ) => {

menghibur. catatan ( isi. keString ( ) ) ;

} ) ;

aliranObj. pada ( 'akhir' , ( ) => {

menghibur. catatan ( ' \N Selesai membaca file.' ) ;

} ) ;

aliranObj. pipa ( proses. stdout ) ;

Penjelasan kode di atas adalah sebagai berikut:

  • Pertama, “ fs ” modul diimpor dan objeknya disimpan di “ fsObj ' variabel.
  • Selanjutnya, menggunakan “ fsObj ” memanggil “ buatReadStream() ” metode dan meneruskan jalur file target yang kontennya perlu diambil. Simpan hasil metode dalam variabel baru “ aliranObj ”.
  • Lampirkan “ pada() ” metode dengan “streamObj” yang memanggil fungsi panggilan balik ketika “ data ” diambil. Data yang diambil diteruskan sebagai parameter untuk fungsi panggilan balik yang mengubah data menjadi format String dan menampilkannya melalui konsol.
  • Sekali lagi lampirkan “ pada() ” metode dengan “ aliranObj ” dan kali ini fungsi panggilan baliknya menampilkan pesan akhir ketika pembacaan file selesai.

Output yang dihasilkan setelah mengeksekusi kode di atas menunjukkan bahwa data yang dibaca sepanjang pesan akhir telah ditampilkan melalui konsol:

Sekian tentang penggunaan aliran yang dapat dibaca di Node.js.

Kesimpulan

Untuk bekerja dengan aliran yang dapat dibaca di Node.js, metode “ buatReadStream() ” dipanggil melalui “ fs ” objek modul. Jalur file yang ditargetkan di mana konten perlu ditulis kemudian diteruskan sebagai parameter metode. Ini dapat dimanfaatkan dengan “ .pipa() ” metode untuk melakukan tugas lebih lanjut atas data yang diambil seperti menulis konten di file lain. Posting ini telah mengilustrasikan prosedur bekerja dengan aliran yang dapat dibaca.