CodeBlanks Logo Icon CodeBlanks

Object mode

Stream object mode ve binary mode farkını öğrenirsin.

Object mode nedir?

Stream'ler varsayılan olarak binary kipte çalışır: Buffer ve dize parçaları akar. Object mode açıldığında ise her parça bir nesnedir; bu, sayı, dizi veya kayıt akıtmak için uygundur.

Bir chunkType(mode) fonksiyonu bu ayrımı modeller: mode === 'object' ise 'object chunk', değilse 'binary chunk' döndürür. Object mode'da highWaterMark bayt değil nesne sayısıdır; bu nedenle 16 nesne eşiği gibi değerler kullanılır. Object mode, new Readable({ objectMode: true }) seçeneğiyle açılır. Bu derste ayrımı tek bir fonksiyonla netleştiriyoruz; gerçek stream'de ise objectMode seçeneği bunu belirler.

Chunk türü kararı

Bir chunk'ın türü, stream'in kipine bağlıdır. Object mode'da chunk bir nesnedir; binary kipte ise Buffer veya dizedir. Bu ayrım, _read ve _write uygulamalarında veriyi nasıl işleyeceğinizi belirler.

Örnek: chunkType('object') 'object chunk' döner; chunkType('binary') 'binary chunk' döner. Object mode'da stream.read() bir nesne döndürür; binary kipte ise bir Buffer. Bu basit fonksiyon, kip ile chunk türü arasındaki bağı net gösterir. İleride Transform stream'i yazarken objectMode seçeneğini ayarlamak, bu kararı uygulamanın yolu olur.

Uygulama Chunk türü fonksiyonu yaz

function chunkType(mode) yaz. if (mode === 'object') return 'object chunk'; ile başla. return 'binary chunk'; ile bitir. console.log(chunkType('object')) ve console.log(chunkType('binary')) yazdır.

Başlangıç kodu

index.js
// chunkType fonksiyonu yaz
// mode 'object' ise 'object chunk', değilse 'binary chunk' döndürsün
// 'object' ve 'binary' çağrılarını yazdır
// buraya yaz

Örnek çözüm

index.js
function chunkType(mode) {
  if (mode === 'object') return 'object chunk';
  return 'binary chunk';
}
console.log(chunkType('object'));
console.log(chunkType('binary'));

Beklenen çıktı

object chunk
binary chunk

Soru ve cevaplar

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

1 Parçayı rolüne eşle

Kavram Anlamı
Object mode Nesne taşır
Binary mode Buffer taşır
objectMode: true Seçenek
highWaterMark Eşik

2 chunkType('object') ne döndürür?

index.js
function chunkType(m) {
  if (m === 'object') return 'object chunk';
  return 'binary chunk';
}
chunkType('object')
  • binary chunk
  • Buffer
  • object chunk Doğru cevap
  • undefined

Açıklama: mode 'object' olduğundan 'object chunk' döner.

3 Koşulu tamamla

Soru
if (mode === '____') return 'object chunk';
Cevap
if (mode === 'object') return 'object chunk';

Açıklama: mode 'object' ile karşılaştırılır.

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