TransformStream अब क्रॉस-ब्राउज़र का इस्तेमाल करता है

अब Chrome, Safari, और Firefox में ट्रांसफ़ॉर्म स्ट्रीम काम करती हैं. इसलिए, अब इनका इस्तेमाल किया जा सकता है!

Browser Support

  • Chrome: 67.
  • Edge: 79.
  • Firefox: 102.
  • Safari: 14.1.

Source

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

डेमो