Readline emitKeypressEvents () ทำงานอย่างไรใน Node.js

Readline Emitkeypressevents Thangan Xyangri Ni Node Js



Node.js เป็นสภาพแวดล้อมรันไทม์ JavaScript แบบโอเพ่นซอร์สฟรีที่รู้จักกันดีสำหรับการสร้างเว็บแอปพลิเคชันแบบไดนามิกและปรับขนาดได้สูง บรรลุฟังก์ชันนี้ด้วยความช่วยเหลือของระบบโมดูล “ โมดูล ” ระบบเป็นส่วนสำคัญของแอปพลิเคชันที่ช่วยให้นักพัฒนาสามารถใช้โค้ดซ้ำได้ทุกเมื่อที่ต้องการ แบ่งออกเป็นสามประเภทหลัก: โมดูล 'ในตัว', 'ท้องถิ่น' และ 'บุคคลที่สาม'

ในบรรดาโมดูลในตัวมี “ อ่านบรรทัด ” โมดูลที่อ่านข้อมูลจากสตรีมที่อ่านได้ทีละบรรทัดตามลำดับ โมดูลนี้ยังประกอบด้วยวิธีการต่างๆ มากมายที่ใช้ฟังก์ชันพิเศษ เช่น “createInterface()” สร้างอินเทอร์เฟซแบบอ่านบรรทัด “cursorTo()” เลื่อนเคอร์เซอร์ “emitKeypressEvents()” ตอบสนองต่อเหตุการณ์ของแป้นพิมพ์ และอื่นๆ อีกมากมาย

บทความนี้จะสาธิตการทำงานของ readline “emitKeypressEvents()” ใน Node.js







Readline “emitKeypressEvents()” ทำงานอย่างไรใน Node.js

emitKeypressEvents () ” เป็นวิธีการที่กำหนดไว้ล่วงหน้าของโมดูล 'readline' ซึ่งจะตอบสนองต่อเหตุการณ์ของแป้นพิมพ์และส่งเสียงตามคีย์ที่กด โดยตอบสนองต่อการกดปุ่มทั้งหมดจากแป้นพิมพ์ เช่น Enter ปุ่มทิศทาง และอื่นๆ อีกมากมายในขณะที่จัดการกับบรรทัดคำสั่ง



ไวยากรณ์



ไวยากรณ์ทั่วไปของ 'emitkeypressEvents()' เป็นดังนี้:





อ่านบรรทัด emitKeypressEvents ( ลำธาร [ , อินเตอร์เฟซ ] )

พารามิเตอร์ที่ใช้ในไวยากรณ์ของ “ emitKeypressEvents () ” วิธีการอธิบายไว้ด้านล่าง:

  • ลำธาร: มันแสดงถึงสตรีมที่อ่านได้ซึ่งข้อมูลจะถูกอ่าน
  • อินเตอร์เฟซ: เป็นพารามิเตอร์ทางเลือกที่ระบุสตรีม 'ที่อ่านได้' ที่สร้างไว้แล้ว

มูลค่าส่งคืน: “emitKeypressEvents()” จะไม่ส่งคืนสิ่งใด



ตอนนี้ใช้วิธี 'emitKeypressEvents()' ในทางปฏิบัติ

ตัวอย่าง: การใช้เมธอด “emitKeypressEvents()” เพื่อจัดการเหตุการณ์คีย์บอร์ด

ตัวอย่างนี้ใช้วิธีการ 'emitKeypressEvents()' เพื่อพิมพ์คีย์ที่กดและคุณลักษณะ:

ค่าคงที่ อ่านบรรทัด = จำเป็นต้อง ( 'อ่านไลน์' ) ;

คอนโซล บันทึก ( 'กดปุ่มแป้นพิมพ์ใดก็ได้' )

อ่านบรรทัด emitKeypressEvents ( กระบวนการ. มาตรฐาน ) ;

ถ้า ( กระบวนการ. มาตรฐาน . คือTTY )

กระบวนการ. มาตรฐาน . ตั้งค่า RawMode ( จริง ) ;

กระบวนการ. มาตรฐาน . บน ( 'กดปุ่ม' , ( STR, คีย์ ) => {

ถ้า ( สำคัญ. Ctrl == จริง && สำคัญ. ชื่อ == 'ค' ) {

กระบวนการ. ออก ( )

}

คอนโซล บันทึก ( STR )

คอนโซล บันทึก ( สำคัญ )

} )

คำอธิบายของโค้ดข้างต้นมีดังนี้:

  • ประการแรก “ จำเป็นต้อง() ” วิธีการนำเข้าโมดูล “readline” ในโครงการ Node.js ปัจจุบัน
  • ต่อไป “ console.log() ” แสดงข้อความที่ยกมาในหน้าจอเอาต์พุต
  • หลังจากนั้น “ emitKeypressEvents () ” ช่วยให้เหตุการณ์ของแป้นพิมพ์ตอบสนองต่อการกดปุ่มใดๆ ในสตรีมอินพุต
  • ตอนนี้ “ กระบวนการ.stdin ” ทรัพย์สินเชื่อมกับ “ .บน ” เหตุการณ์แป้นพิมพ์เพื่อตอบสนองต่อการกดแป้นคีย์บอร์ดใด ๆ
  • ในคำจำกัดความของฟังก์ชันลูกศรเรียกกลับ “ ถ้า ” เงื่อนไขกำหนดบล็อกรหัสที่ระบุเงื่อนไข: ถ้า “ Ctrl ” กดปุ่มแล้วเท่ากับ “ จริง ” จากนั้นกระบวนการที่กำหนดจะออกโดยใช้ปุ่ม “ กระบวนการทางออก () ' วิธี.
  • สุดท้ายนี้ “ console.log() ” วิธีการพิมพ์ “ STR ' และ ' สำคัญ ” ค่าอาร์กิวเมนต์

เอาท์พุต

ดำเนินการเพื่อ “ ดัชนี js ” โดยใช้คำสั่งที่ระบุด้านล่าง:

ดัชนีโหนด เจส

ผลลัพธ์ต่อไปนี้จะแสดงคีย์ที่กดพร้อมกับแอตทริบิวต์ หากต้องการออกจากกระบวนการให้กดปุ่ม “ Ctrl+C ' ปุ่มลัด:

นั่นคือทั้งหมดที่เกี่ยวกับการทำงานของ “emitKeypressEvents()” ใน Node.js

บทสรุป

บทอ่าน” emitKeypressEvents () ” วิธีการทำงานบนเหตุการณ์แป้นพิมพ์ในขณะที่กดปุ่มแป้นพิมพ์ใด ๆ ลงในสตรีมที่อ่านได้ วิธีนี้จะตรวจจับแป้นคีย์บอร์ดและส่งเสียงคุณลักษณะของมัน จะมีประโยชน์ในขณะที่ทำงานในบรรทัดคำสั่งเพื่อตอบสนองโดยการกดแป้นคีย์บอร์ด โพสต์นี้ได้อธิบายการทำงานของเมธอด readline “emitKeypressEvents()” ใน Node.js