Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

สตรีมเมธอด writable.cork() และ uncork() ใน Node.js


วิธีการเขียน.cork() ใช้สำหรับบังคับให้ข้อมูลที่เขียนทั้งหมดถูกบัฟเฟอร์ภายในหน่วยความจำ ข้อมูลที่บัฟเฟอร์นี้จะถูกลบออกจากหน่วยความจำบัฟเฟอร์หลังจากเรียกใช้เมธอด stream.uncork() หรือ stream.end() เท่านั้น

ไวยากรณ์

ก๊อก()

writeable.cork()

เปิดจุก()

writeable.uncork()

พารามิเตอร์

เนื่องจากมันบัฟเฟอร์ข้อมูลที่เขียน เฉพาะพารามิเตอร์ที่จำเป็นเท่านั้นที่จะเป็นข้อมูลที่เขียนได้

ตัวอย่าง

สร้างไฟล์ที่มีชื่อ – cork.js และคัดลอกข้อมูลโค้ดด้านล่าง หลังจากสร้างไฟล์แล้ว ให้ใช้คำสั่งต่อไปนี้เพื่อเรียกใช้โค้ดนี้ดังแสดงในตัวอย่างด้านล่าง −

node cork.js

cork.js

// Program to demonstrate writable.cork() method
const stream = require('stream');

// Creating a data stream with writable
const writable = new stream.Writable({
   // Writing the data from stream
   write: function(chunk, encoding, next) {
      // Converting the data chunk to be displayed
      console.log(chunk.toString());
      next();
   }
});

// Writing data
writable.write('Hi - This data is printed');

// Calling the cork() function
writable.cork();

// Again writing some data
writable.write('Welcome to TutorialsPoint !');
writable.write('SIMPLY LEARNING ');
writable.write('This data will be corked in the memory');

ผลลัพธ์

C:\home\node>> node cork.js
Hi - This data is printed

เฉพาะข้อมูลที่เขียนระหว่างเมธอด cork() เท่านั้นที่จะถูกพิมพ์ในขณะที่ข้อมูลที่เหลือจะถูก cork ในหน่วยความจำบัฟเฟอร์ ตัวอย่างด้านล่างแสดงวิธีการเปิดข้อมูลด้านบนจากหน่วยความจำบัฟเฟอร์

ตัวอย่าง

มาดูตัวอย่างเพิ่มเติมเกี่ยวกับวิธี uncork() - uncork.js

// Program to demonstrate writable.cork() method
const stream = require('stream');

// Creating a data stream with writable
const writable = new stream.Writable({
   // Writing the data from stream
   write: function(chunk, encoding, next) {
      // Converting the data chunk to be displayed
      console.log(chunk.toString());
      next();
   }
});

// Writing data
writable.write('Hi - This data is printed');

// Calling the cork() function
writable.cork();

// Again writing some data
writable.write('Welcome to TutorialsPoint !');
writable.write('SIMPLY LEARNING ');
writable.write('This data will be corked in the memory');

// Flushing the data from buffered memory
writable.uncork()

ผลลัพธ์

C:\home\node>> node uncork.js
Hi - This data is printed
Welcome to TutorialsPoint !
SIMPLY LEARNING
This data will be corked in the memory

ข้อมูลทั้งหมดจากตัวอย่างด้านบนจะแสดงขึ้นเมื่อหน่วยความจำบัฟเฟอร์ถูกล้างโดยใช้วิธี uncork()