Node.js
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.
Örnek çözümü göster
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);
Kendini test et
-
Custom Readable stream hangi metodu uygular?
class MyReadable extends Readable {
_read() {}
}
Cevabı göster
_read — Readable sınıfı _read metodunu uygular.
-
Parçayı rolüne eşle
- Readable
- Veri üretir
- Writable
- Veri yazar
- Transform
- Dönüştürür
- _read
- Üretim metodu
-
Nesne özelliğini tamamla
return { name: name, ____: function() {}, _write: function() {} };
Cevabı göster
return { name: name, _read: function() {}, _write: function() {} };
Sıradaki ders: Özet - Stream iç yapıları