CodeBlanks Logo Icon CodeBlanks

Custom stream

Kendi stream sınıfını yazmayı öğrenirsin.

Custom stream nedir?

Node.js'te custom stream, yerleşik Readable, Writable veya Transform sınıflarını genişleterek yazdığınız stream'dir. _read, _write veya _transform metodlarını uygulayarak veri akışını özelleştirirsin.

Bir customStream(name) fonksiyonu bu iskeleti modeller: {name, _read, _write} özellikli bir nesne döndürür. _read ve _write boş fonksiyonlardır; gerçek bir custom stream'de bunları doldurursun. Bu derste iskeleti kuruyoruz; sonraki adımlarda gerçek Readable sınıfını genişletmeyi göreceğiz. new Readable({ read() {} }) seçeneği de benzer bir iskelet kurar; burada basit bir nesneyle başlıyoruz.

_read ve _write iskeleti

Bir custom stream'in iskeleti, _read ve _write metodlarını içerir. _read veri üretir, _write veri tüketir. customStream(name) fonksiyonu bu iki metodu boş fonksiyon olarak döndürür; gerçek bir custom stream'de bunları doldurursun.

Örnek: const stream = customStream('myStream') çağrısı {name: 'myStream', _read: function() {}, _write: function() {}} döndürür. typeof stream._read 'function' döner. Bu iskelet, custom stream'in yapısını gösterir; ileride class MyStream extends Readable { _read() {} } deseniyle bu yapıyı sınıf olarak kurarsın. Başlangıçta basit bir nesneyle çalışmak, sınıf sözdizimine geçmeden önce metot rollerini netleştirir.

Uygulama Custom stream iskeleti yaz

function customStream(name) yaz. return { name: name, _read: function() {}, _write: function() {} } ile döndür. const stream = customStream('myStream') tanımla. console.log(stream.name), console.log(typeof stream._read) ve console.log(typeof stream._write) yazdır.

Başlangıç kodu

index.js
// customStream fonksiyonu yaz
// {name, _read, _write} özellikli nesne döndürsün
// myStream ile çağır, ad ve metot türlerini yazdır
// buraya yaz

Örnek çözüm

index.js
function customStream(name) {
  return { name: name, _read: function() {}, _write: function() {} };
}
const stream = customStream('myStream');
console.log(stream.name);
console.log(typeof stream._read);
console.log(typeof stream._write);

Beklenen çıktı

myStream
function
function

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Custom Readable stream hangi metodu uygular?

index.js
class MyReadable extends Readable {
  _read() {}
}
  • _close
  • _read Doğru cevap
  • _open
  • _start

Açıklama: Readable sınıfı _read metodunu uygular.

2 Parçayı rolüne eşle

Kavram Anlamı
Readable Veri üretir
Writable Veri yazar
Transform Dönüştürür
_read Üretim metodu

3 Nesne özelliğini tamamla

Soru
return { name: name, ____: function() {}, _write: function() {} };
Cevap
return { name: name, _read: function() {}, _write: function() {} };

Açıklama: _read üretim metodudur.

Uzman bölümündeki tüm dersler