עכשיו יש תמיכה בשידורי טרנספורמציה ב-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;
}
});