Okunabilir Akışlar
Verileri parçalar hâlinde tüketin.
Okunabilir Akışlar, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 4 dersten oluşur.
Akışlar nedir
Akışlar API'si, verileri belleğe tamamen yüklemek yerine parçalar geldikçe artımlı olarak işler. Bu sayede çok büyük indirmeler, videolar ve canlı veri akışları verimli biçimde işlenebilir.
ReadableStream
ReadableStream, parça parça okuyabildiğiniz bir kaynaktır. Tarayıcılar bunları fetch yanıtlarında, dosya blob'larında ve başka yerlerde sunar.
Akış oluşturma
Parçaları sıraya alan ve tamamlanma sinyali gönderen start(controller) içeren bir temel kaynak nesnesiyle oluşturun.
const stream = new ReadableStream({
start(controller) {
controller.enqueue("chunk 1");
controller.enqueue("chunk 2");
controller.close();
}
});Okuyucu alma
getReader() akışı kilitler ve bir okuyucu döndürür. Akış kilitliyken başka hiçbir tüketici onu okuyamaz.
const reader = stream.getReader();Parçaları okuma
reader.read(), { value, done } değerine çözümlenen bir söz döndürür. Akış tükendiğinde done değeri true olur.
const { value, done } = await reader.read();
console.log(value, done);Okuma döngüsü
Akışın tamamını tüketmek için done değeri true olana kadar read() üzerinde döngü kurun.
const reader = stream.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
console.log("got", value);
}Kilidi serbest bırakma
Başka bir okuyucunun devralabilmesi için akışın kilidini açmak üzere reader.releaseLock() çağırın.
reader.releaseLock();pull yöntemi
Bir temel kaynak, tüketici daha fazla veri istediğinde çağrılan pull(controller) işlevini tanımlayabilir. Bu, verilerin tembel ve isteğe bağlı olarak oluşturulmasını sağlar.
let i = 0;
new ReadableStream({
pull(controller) {
controller.enqueue(i++);
if (i > 5) controller.close();
}
});Asenkron yineleme
Modern ortamlarda bir ReadableStream asenkron olarak yinelenebilir; böylece el ile döngü kurmak yerine for await...of kullanabilirsiniz.
for await (const chunk of stream) {
console.log(chunk);
}Akışı iptal etme
reader.cancel(reason) akışı erkenden durdurur ve kaynakları serbest bırakır. Bu, büyük indirmeleri iptal etmek için önemlidir.
await reader.cancel("user navigated away");Tee: Akışı bölme
tee(), her parçanın bir kopyasını alan iki akış döndürür. Bu, verileri iki kez okumak için kullanışlıdır; örneğin önbelleğe almak ve görüntülemek için.
const [a, b] = stream.tee();
// read a and b independentlyKısa kontrol
Okunabilir akışları deneyin.
Özet: Okunabilir akışlar
Bir ReadableStream oluşturdunuz, okuyucu aldınız, bir döngüde read() ile parçaları tükettiniz, kilidi serbest bıraktınız, tembel veri üretimi için pull kullandınız, for await ile yineleme yaptınız ve tee() ile akışı böldünüz. Sırada akış kullanan getirme yanıtları var.
Sıkça Sorulan Sorular
“Okunabilir Akışlar” dersi ücretsiz mi?
Evet — “Okunabilir Akışlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 4 dersten oluşur.
“Okunabilir Akışlar” dersinde ne öğreneceğim?
Verileri parçalar hâlinde tüketin. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Okunabilir Akışlar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.