पठनीय स्ट्रीम
डेटा को छोटे-छोटे भागों में ग्रहण कीजिए।
पठनीय स्ट्रीम, CoddyKit पर JavaScript Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह JavaScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। JavaScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
स्ट्रीम क्या हैं
स्ट्रीम एपीआई डेटा को पूरी तरह मेमोरी में लोड करने के बजाय, चंक्स आते ही क्रमशः प्रोसेस करता है। इससे बहुत बड़े डाउनलोड, वीडियो और लाइव फ़ीड को कुशलता से संभालना संभव होता है।
ReadableStream
ReadableStream ऐसा स्रोत है जिससे आप चंक-दर-चंक पढ़ते हैं। ब्राउज़र इन्हें fetch प्रतिक्रियाओं, फ़ाइल ब्लॉब और अन्य जगहों पर उपलब्ध कराते हैं।
स्ट्रीम बनाना
एक अंतर्निहित स्रोत ऑब्जेक्ट से इसे बनाएँ, जिसका start(controller) चंक्स को कतार में रखता है और पूर्णता का संकेत देता है।
const stream = new ReadableStream({
start(controller) {
controller.enqueue("chunk 1");
controller.enqueue("chunk 2");
controller.close();
}
});रीडर प्राप्त करना
getReader() स्ट्रीम को लॉक करके एक रीडर लौटाता है। लॉक रहने के दौरान कोई अन्य उपभोक्ता इसे पढ़ नहीं सकता।
const reader = stream.getReader();चंक्स पढ़ना
reader.read() ऐसा प्रॉमिस लौटाता है जो { value, done } में पूरा होता है। स्ट्रीम समाप्त होने पर done का मान true हो जाता है।
const { value, done } = await reader.read();
console.log(value, done);रीड लूप
पूरी स्ट्रीम का उपयोग करने के लिए done के true होने तक read() पर लूप चलाएँ।
const reader = stream.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
console.log("got", value);
}लॉक छोड़ना
स्ट्रीम को अनलॉक करने के लिए reader.releaseLock() बुलाएँ, ताकि कोई दूसरा रीडर उसका नियंत्रण ले सके।
reader.releaseLock();pull विधि
अंतर्निहित स्रोत pull(controller) परिभाषित कर सकता है, जिसे उपभोक्ता के अधिक डेटा माँगने पर बुलाया जाता है — इससे आवश्यकता पड़ने पर डेटा बनाया जा सकता है।
let i = 0;
new ReadableStream({
pull(controller) {
controller.enqueue(i++);
if (i > 5) controller.close();
}
});असिंक्रोनस पुनरावृत्ति
आधुनिक वातावरण में ReadableStream असिंक्रोनस रूप से पुनरावृत्त की जा सकती है, जिससे आप मैन्युअल लूप के बजाय for await...of का उपयोग कर सकते हैं।
for await (const chunk of stream) {
console.log(chunk);
}स्ट्रीम रद्द करना
reader.cancel(reason) स्ट्रीम को समय से पहले रोकता है और संसाधन मुक्त करता है — बड़े डाउनलोड रद्द करने के लिए यह महत्वपूर्ण है।
await reader.cancel("user navigated away");Tee: स्ट्रीम विभाजित करना
tee() दो स्ट्रीम लौटाता है, जिनमें से हर एक को प्रत्येक चंक की एक प्रति मिलती है — डेटा को दो बार पढ़ने के लिए उपयोगी (जैसे कैश और प्रदर्शन के लिए)।
const [a, b] = stream.tee();
// read a and b independentlyत्वरित जाँच
रीडेबल स्ट्रीम का परीक्षण करें।
पुनरावलोकन: रीडेबल स्ट्रीम
आपने ReadableStream बनाई, रीडर प्राप्त किया, लूप में read() से चंक्स का उपयोग किया, लॉक छोड़ा, आवश्यकता पर डेटा के लिए pull का उपयोग किया, for await से पुनरावृत्ति की और tee() से स्ट्रीम विभाजित की। अगला विषय: फ़ेच प्रतिक्रियाओं की स्ट्रीमिंग।
एआई शिक्षक के साथ JavaScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 59
- पाठ
- 200
अक्सर पूछे जाने वाले प्रश्न
क्या “पठनीय स्ट्रीम” पाठ निःशुल्क है?
हाँ — JavaScript Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “पठनीय स्ट्रीम” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। JavaScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“पठनीय स्ट्रीम” में मैं क्या सीखूँगा?
डेटा को छोटे-छोटे भागों में ग्रहण कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ JavaScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या JavaScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर JavaScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“पठनीय स्ट्रीम” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस JavaScript Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर JavaScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।