คู่มือนี้ให้คำอธิบายเกี่ยวกับการบล็อกใน Node.js
ทำความเข้าใจกับการบล็อกใน Node.js หรือไม่
เพื่อให้เข้าใจถึงการบล็อกใน Node.js วิธีการบล็อกที่จัดทำโดย “ FS ” โมดูลสามารถใช้งานได้ตามความต้องการของโครงการ ใน Node.js ทุกเมธอดที่มีคีย์เวิร์ดเป็น “ ซิงค์ ' ชอบ ' อ่านไฟล์ซิงค์() , ' เปลี่ยนชื่อซิงค์() ” และอื่น ๆ ถือเป็นวิธีการซิงโครนัสหรือการบล็อก
ตัวอย่างวิธีการบล็อกบางส่วนใน Node.js มีอธิบายไว้ด้านล่าง:
ตัวอย่างที่ 1: การใช้วิธีบล็อก 'fs.renameSync()'
“ fs.renameSync() ” วิธีการซิงโครนัสเปลี่ยนชื่อโฟลเดอร์จากชื่อหรือเส้นทางเก่าเป็นชื่อหรือเส้นทางใหม่ ลักษณะการบล็อกของมันจะหยุดการดำเนินการอื่นทั้งหมดจนกว่างานที่ระบุ เช่น การเปลี่ยนชื่อโฟลเดอร์จะยังไม่เสร็จสิ้น
ไวยากรณ์
ไวยากรณ์พื้นฐานของ “ fs.renameSync() ” วิธีการเขียนไว้ด้านล่าง:
FS เปลี่ยนชื่อSync ( ชื่อเก่าชื่อใหม่ )ไวยากรณ์ข้างต้นแสดงให้เห็นว่า “ fs.renameSync() ” ต้องการเพียงเส้นทางของไฟล์ที่ต้องแก้ไขและเส้นทางไฟล์ที่อัปเดตที่จะถูกตั้งค่า
เรามายกตัวอย่างให้เข้าใจการทำงานของการบล็อคกันเถอะ” เปลี่ยนชื่อซิงค์() ” วิธีการใน Node.js:
มี fs = จำเป็นต้อง ( 'เอฟเอส' ) ;FS เปลี่ยนชื่อSync ( 'usecase.txt' , 'demoAs.json' ) ;
คอนโซล บันทึก ( 'เปลี่ยนชื่อโฟลเดอร์เรียบร้อยแล้ว' )
ในข้อมูลโค้ดข้างต้น:
- ประการแรก “ FS ” โมดูลถูกนำเข้าและจัดเก็บเป็นวัตถุในตัวแปรใหม่ชื่อ “ FS '.
- จากนั้นให้เรียกใช้ ' เปลี่ยนชื่อซิงค์() ” แล้วส่งชื่อเก่าและชื่อใหม่เป็นพารามิเตอร์
- ไม่จำเป็นต้องใช้ฟังก์ชันการโทรกลับเนื่องจากโค้ดประเภทซิงโครนัส
- นอกจากนี้ ให้แสดงข้อความจำลองบนคอนโซลเพื่อตรวจสอบการบล็อกกระบวนการด้วยสายตา
ผลลัพธ์ที่สร้างขึ้นแสดงให้เห็นว่าโฟลเดอร์ที่กำหนดได้รับการเปลี่ยนชื่อเรียบร้อยแล้วด้วยความช่วยเหลือของการบล็อก “ เปลี่ยนชื่อซิงค์() ' วิธี:
ตัวอย่างที่ 2: การใช้วิธี Blocking “mkdirSync()”
“ mkdirSync() ” เป็นวิธีการซิงโครนัสที่กำหนดไว้ล่วงหน้าของ “ FS ” โมดูลที่สร้างโฟลเดอร์/ไดเร็กทอรีในระบบไฟล์
ไวยากรณ์
ไวยากรณ์ทั่วไปของ “ mkdirSync() ” วิธีการเขียนไว้ด้านล่าง:
mkdirSync ( เส้นทางตัวเลือก )“ mkdirSync() ” ใช้งานได้กับพารามิเตอร์สองตัวต่อไปนี้เท่านั้น:
- เส้นทาง: ระบุเส้นทางหรือชื่อของไดเร็กทอรีที่จำเป็นในการสร้าง
- ตัวเลือก: เป็นพารามิเตอร์ทางเลือกที่กำหนดการสร้างโฟลเดอร์แบบเรียกซ้ำหรือไม่
มาดูตัวอย่างโค้ดของการบล็อก “ mkdirSync() ' วิธี:
คอนโซล บันทึก ( 'วิธีการปิดกั้น' ) ;มี fs = จำเป็นต้อง ( 'เอฟเอส' ) ;
FS mkdirSync ( 'กรณีการใช้งาน' ) ;
คอนโซล บันทึก ( 'เปลี่ยนชื่อโฟลเดอร์เรียบร้อยแล้ว' ) ;
ในโค้ดข้างต้น ชื่อไดเร็กทอรีที่จะแปลงจะถูกส่งไปภายใน ' mkdirSync() ' วิธี. วิธีการนี้ถูกเรียกใช้โดย “ FS ” วัตถุโมดูลพร้อมกับข้อความจำลอง
ผลลัพธ์ที่สร้างขึ้นแสดงให้เห็นว่า “ mkdirSync() ” วิธีการได้ถูกนำไปใช้แล้ว และกำลังปิดกั้นกระบวนการที่กำลังจะเกิดขึ้นจนกว่าวิธีนี้จะเสร็จสิ้น:
ตัวอย่างที่ 3: การใช้วิธี Blocking “rmdirSync()”
“ rmdirSync() ” เป็นวิธีการซิงโครนัสที่จะลบโฟลเดอร์ออกจากเส้นทางที่ระบุ พฤติกรรมแบบซิงโครนัสจะบล็อกการดำเนินการอื่นทั้งหมดจนกว่างานที่ระบุ เช่น การลบโฟลเดอร์จะไม่สมบูรณ์
ไวยากรณ์
ไวยากรณ์ทั่วไปของ “ fs.rmdirSync() ” วิธีการเขียนไว้ด้านล่าง:
FS rmdirSync ( เส้นทางตัวเลือก )ไวยากรณ์ข้างต้นแสดงให้เห็นว่า “ rmdirSync() ” ใช้งานได้เฉพาะกับ “ เส้นทาง ' และ ' ตัวเลือก ” พารามิเตอร์
ไปที่ข้อมูลโค้ดด้านล่างเพื่อลบโฟลเดอร์เป้าหมายออกจากโปรเจ็กต์ จากนั้นหลังจากลบแล้ว ให้ตรวจสอบความพร้อมใช้งานในโปรเจ็กต์:
ค่าคงที่ FS = จำเป็นต้อง ( 'เอฟเอส' ) ;FS rmdirSync ( 'กรณีการใช้งาน' )
คอนโซล บันทึก ( 'ลบโฟลเดอร์เรียบร้อยแล้ว' ) ;
เป็นโฟลเดอร์ = FS มีอยู่ซิงค์ ( 'กรณีการใช้งาน' ) ;
คอนโซล บันทึก ( 'มีโฟลเดอร์อยู่:' , โฟลเดอร์ ) ;
ในบรรทัดโค้ดด้านบน:
- ประการแรก “ rmdirSync() ” วิธีการถูกเรียกใช้ผ่านการนำเข้า “ FS ” วัตถุโมดูล ชื่อของไฟล์ที่ต้องการลบจะถูกส่งผ่านเป็นพารามิเตอร์
- ต่อไป “ console.log() ” วิธีการแสดงข้อความยืนยัน
- หลังจากนั้น “ มีอยู่ซิงค์() ” ยังถูกเรียกใช้เพื่อระบุว่ามีโฟลเดอร์ที่กำหนดอยู่ในไดเร็กทอรีปัจจุบันหรือไม่ ผลลัพธ์หรือผลลัพธ์ของวิธีนี้จะถูกเก็บไว้ใน “ โฟลเดอร์ ' ตัวแปร.
- สุดท้ายนี้ “ console.log() ” วิธีการแสดงค่าของ “ โฟลเดอร์ ” ตัวแปรบนคอนโซล
ผลลัพธ์ที่สร้างขึ้นแสดงว่าโฟลเดอร์เป้าหมายถูกลบแล้วด้วยความช่วยเหลือในการบล็อก “ rmdirSync() ' วิธี:
นั่นคือทั้งหมดที่เกี่ยวกับการบล็อกใน Node.js
บทสรุป
“ การปิดกั้น ” รหัสหยุดการทำงานของกระบวนการทั้งหมดจนกว่ากระบวนการปัจจุบันจะถูกดำเนินการอย่างสมบูรณ์ ใช้เฉพาะสำหรับเมธอดหรือฟังก์ชันที่ต้องพึ่งพาซึ่งเอาต์พุตขึ้นอยู่กับผลลัพธ์ของฟังก์ชันก่อนหน้า รหัสการบล็อกยังเป็นตัวเลือกที่ดีเมื่อจำเป็นต้องดำเนินการกระบวนการตามลำดับ คู่มือนี้ได้แสดงข้อมูลโดยละเอียดเกี่ยวกับการบล็อกใน Node.js