TransformStream artık tarayıcılar arası bir destek sunuyor

Dönüşüm akışları Chrome, Safari ve Firefox'ta desteklendiğinden nihayet prime time için hazırlar!

Streams API almak, göndermek veya dönüştürmek istediğiniz kaynağı küçük parçalara ayırmanızı ve daha sonra bu parçaları parça parça işlemenizi sağlar. Firefox 102, kısa süre önce TransformStream özelliğini desteklemeye başladı. Bu da TransformStream'in artık tüm tarayıcılarda kullanılabilir olduğu anlamına geliyor. Dönüşüm akışları, aşağıdaki örnekte gösterildiği gibi, bir ReadableStream'ten WritableStream'e kanal oluşturmanıza, parçalarda bir dönüşüm yürütmenize veya dönüştürülen sonucu doğrudan kullanmanıza olanak tanır.

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

Demo

Tarayıcı desteği

Tarayıcı Desteği

  • 67
  • 79
  • 102
  • 14.1

Kaynak

Yeni birlikte çalışabilirlik özelliği serisinin bir parçası