اکنون که جریانهای تبدیل در کروم، سافاری و فایرفاکس پشتیبانی میشوند، در نهایت برای بهترین زمان آماده هستند!
Streams API به شما امکان می دهد منبعی را که می خواهید دریافت کنید، ارسال کنید، یا به تکه های کوچک تبدیل کنید، تجزیه کنید و سپس این تکه ها را ذره ذره پردازش کنید. اخیراً فایرفاکس 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;
}
});