وأصبحت أحداث البث التحويلية الآن جاهزة للاستخدام في 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;
}
});