अब 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;
}
});