writable.cork() মেথডটি বাধ্য করে লেখা সমস্ত ডেটাকে মেমরিতে বাফার করে রাখে। এই বাফার করা ডেটা শুধু stream.uncork() বা stream.end() কল করার সময়ই বাফার থেকে मुুক্ত হয় এবং আসলে লেখা হয়।
সিনট্যাক্স
cork()
writable.cork()
uncork()
writable.uncork()
প্যারামিটার
এই মেথডগুলো কোনো প্যারামিটার গ্রহণ করে না। শুধু রাইটেবল স্ট্রিম অবজেক্টের ওপর কল করা হয়।
উদাহরণ ১: শুধু cork() ব্যবহার
cork.js ফাইল তৈরি করে node cork.js চালান।
const stream = require('stream');
const writable = new stream.Writable({
write: function(chunk, encoding, next) {
console.log(chunk.toString());
next();
}
});
// প্রথম ডেটা - যেহেতু cork() কল করা হয়নি, তাই তাত্ক্ষণিক লেখা হবে
writable.write('Hi - This data is printed');
// কর্ক করা - এর পরের সব ডেটা বাফারে যাবে
writable.cork();
writable.write('Welcome to TutorialsPoint!');
writable.write('SIMPLY LEARNING');
writable.write('This data will be corked in the memory');
আউটপুট
Hi - This data is printed
শুধু প্রথম ডেটা প্রিন্ট হয়েছে। বাকি ডেটাগুলো মেমরিতে বাফার করা থাকায় কনসোলে দেখা যাচ্ছে না।
উদাহরণ ২: uncork() ব্যবহার করে বাফার ফ্লাশ করা
uncork.js ফাইলে নিচের কোড চালান।
const stream = require('stream');
const writable = new stream.Writable({
write: function(chunk, encoding, next) {
console.log(chunk.toString());
next();
}
});
writable.write('Hi - This data is printed');
writable.cork();
writable.write('Welcome to TutorialsPoint!');
writable.write('SIMPLY LEARNING');
writable.write('This data will be corked in the memory');
// বাফার ফ্লাশ করা
writable.uncork();
আউটপুট
Hi - This data is printed Welcome to TutorialsPoint! SIMPLY LEARNING This data will be corked in the memory
uncork() কল করার সাথে সাথেই বাফার করা সমস্ত ডেটা একসাথে লেখা হয়ে যাওয়া দেখা যাচ্ছে। এটি পারফরম্যান্স অপ্টিমাইজেশনের জন্য খুব উপকারী যখন একসাথে অনেক ছোট ডেটা লিখতে হয়।