अब जब Chrome, Safari, और Firefox में ट्रांसफ़ॉर्म स्ट्रीम करने की सुविधा काम करती है, तो वे प्राइम टाइम के लिए तैयार हैं!
Streams API की मदद से, उस संसाधन को बांटा जा सकता है, जिसे आप पाना चाहते हैं, भेजना चाहते हैं या उसे छोटे-छोटे हिस्सों में बदलना चाहते हैं. इसके बाद, इन हिस्सों को बिट-दर-बिट प्रोसेस कर सकते हैं. हाल ही में, Firefox 102 ने TransformStream
के साथ काम करना शुरू किया है. इसका मतलब है कि TransformStream
अब सभी ब्राउज़र पर इस्तेमाल किया जा सकेगा. ट्रांसफ़ॉर्म स्ट्रीम की मदद से, ReadableStream
से WritableStream
में पाइप किए जा सकते हैं, डेटा के अलग-अलग हिस्सों पर ट्रांसफ़ॉर्मेशन को लागू किया जा सकता है या बदले गए नतीजे को सीधे तौर पर इस्तेमाल किया जा सकता है, जैसा कि यहां दिए गए उदाहरण में दिखाया गया है.
class UpperCaseTransformStream {
constructor() {
return new TransformStream({
transform(chunk, controller) {
controller.enqueue(chunk.toUpperCase());
},
});
}
}
button.addEventListener('click', async () => {
const response = await fetch('/script.js');
const readableStream = response.body
.pipeThrough(new TextDecoderStream())
.pipeThrough(new UpperCaseTransformStream());
const reader = readableStream.getReader();
pre.textContent = '';
while (true) {
const { done, value } = await reader.read();
if (done) {
break;
}
pre.textContent += value;
}
});