এখন যেহেতু ট্রান্সফর্ম স্ট্রীমগুলি Chrome, Safari এবং 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;
}
});