Node.js'de Okunabilir Akışlar Nasıl Kullanılır?

Node Js De Okunabilir Akislar Nasil Kullanilir



Veriler ağ üzerinden gönderici veya kaynak ile hedef veya alıcı taraflar arasında akışlar halinde aktarılır. Bu akışlar çeşitli yöntemler kullanılarak oluşturulup birleştirilebilir ve ses veya video dosyaları da akış üzerinden aktarılabilir. Okunan veriler “” kullanılarak diğer hedeflenen dosyalara eklenebilir. yazmak() ' Ve ' itmek() ”yöntemleri de var.

Bu kılavuz Node.js'de okunabilir akışların kullanımını açıklayacaktır.

Node.js'de Okunabilir Akışlar Nasıl Kullanılır?

Okunabilir ' akışları ' çağrılarak oluşturulur createReadStream() ” ve okunan veriler daha sonra yerel sunucu oluşturularak web sayfası üzerinde görüntülenebilir. Etkinlik dinleyicileri “ Açık() ” yöntemleri ayrıca, dosyanın okunması başladığında veya bittiğinde mesajları görüntülemek veya belirli eylemleri gerçekleştirmek için okunabilir akışlara eklenebilir.







Pratik bir gösteri için örneğe bir göz atın.



Örnek: Okunabilir Akışlar Kullanarak İçeriği Sunucu Üzerinden Okumak ve Görüntülemek

Bu örnekte, sağlanan bir dosyanın içeriği web tarayıcısı üzerinden okunmakta ve ardından görüntülenmektedir:



yapı fsObj = gerekmek ( 'f' ) ;

yapı httpObj = gerekmek ( 'http' ) ;

yapı Yerel sunucu = httpObj. CreateServer ( ( istek, yanıt ) => {

denemek {
// Okunacak Hedeflenen Dosya
yapı veri akışı = fsObj. CreateReadStream ( 'usecase.txt' ) ;
// Dosyayı yanıta yönlendir
veri akışı. boru ( cevap ) ;
} yakalamak ( hatalar ) {
konsol. hata ( hatalar ) ;
}
} ) ;

Yerel sunucu. Dinlemek ( 8080 , ( ) => {
konsol. kayıt ( 'Sunucu Localhost Bağlantı Noktası Numarasında Çalışıyor: '8080' ' )
} ) ;

Yukarıdaki kodun açıklaması şu şekildedir:





  • Öncelikle gerekli olanı içe aktarın fs ' Ve ' http ” modülleri ve nesnelerini “ fsObj ' Ve ' httpObj ” değişkenleri sırasıyla.
  • Daha sonra sunucu “ çağrılarak oluşturulmuştur. createServer() ” yöntemini kullanarak yeni oluşturulan bu sunucuyu “ Yerel sunucu ” değişkeni.
  • Daha sonra bir 'kullanın denemek yöntem geri çağırma işlevinin içindeki ' bloğunu kullanın ve ' createReadStream() ' yöntemini kullanarak ' fsObj ” değişkeni.
  • Okunması gereken hedeflenen dosya içeriğini bu yöntem parantezinin içine iletin ve sonucu “ veri akışı ” değişkeni.
  • “” ekleyin veri akışı ” değişkeni “ .boru() ” yanıtını gönderme yöntemini kullanın.
  • yakalamak Oluşan hataları işlemek için ” bloğu.
  • Son olarak port numarası üzerinden sunucuyu dinleyin veya kurun. 8080 ”ve geri arama fonksiyonunun yardımıyla başarı mesajını görüntüleyin.

Yukarıdaki kodu içeren dosyayı (controlFlow.js) aşağıda belirtilen komutla yürütün:

düğüm kontrolüFlow. js

Oluşturulan çıktı, şunun yardımıyla şunu gösterir: “ .boru() ' Ve ' Okunabilir Akış ”, dosya verileri okundu ve web sayfası üzerinde görüntülenmek üzere hedef akışa gönderildi:



Örnek 2: Statik Dosyaları ReadStream Kullanarak Yerel Olarak Okuma

Bu durumda, akış üzerinden sağlanan dosya seçilir ve içeriği, olay dinleyicilerinin yardımıyla konsol penceresi üzerinde görüntülenir:

yapı fsObj = gerekmek ( 'f' ) ;

yapı StreamObj = fsObj. CreateReadStream ( 'usecase.txt' ) ;

StreamObj. Açık ( 'veri' , ( içerik ) => {

konsol. kayıt ( içerik. toString ( ) ) ;

} ) ;

StreamObj. Açık ( 'son' , ( ) => {

konsol. kayıt ( ' \N Dosyayı okumayı bitirdim.' ) ;

} ) ;

StreamObj. boru ( işlem. stdout ) ;

Yukarıdaki kodun açıklaması şu şekildedir:

  • İlk önce ' fs ” modülü içe aktarılır ve nesnesi “ fsObj ” değişkeni.
  • Daha sonra “ fsObj ' şunu çağırır:' createReadStream() ” yöntemini kullanarak içeriğinin alınması gereken hedeflenen dosyanın yolunu iletir. Yöntemin sonucunu yeni bir değişkende saklayın “ StreamObj ”.
  • ''yi ekleyin Açık() ' durumunda bir geri çağırma işlevini çağıran 'streamObj' içeren 'yöntemi' veri ” alınır. Alınan veriler, verileri String formatına dönüştüren ve konsol üzerinde görüntüleyen geri çağırma işlevi için bir parametre olarak iletilir.
  • Tekrar “ Açık() ' yöntemi ' ile StreamObj ” ve bu sefer geri arama işlevi, dosyanın okunması tamamlandığında bir bitiş mesajı görüntüler.

Yukarıdaki kodun yürütülmesinden sonra oluşturulan çıktı, bitiş mesajı boyunca okunan verilerin konsol üzerinde görüntülendiğini gösterir:

Bunların hepsi Node.js'de okunabilir akışların kullanımıyla ilgilidir.

Çözüm

Node.js'de okunabilir akışlarla çalışmak için “ createReadStream() ”“ aracılığıyla çağrılır fs ” modül nesnesi. İçeriğin yazılması gereken hedeflenen dosya yolu daha sonra yöntem parametresi olarak iletilir. “ ile kullanılabilir. .boru() İçeriği başka bir dosyaya yazmak gibi, alınan veriler üzerinde daha fazla görev gerçekleştirme yöntemini kullanın. Bu gönderide okunabilir akışlarla çalışma prosedürü gösterilmiştir.