- Node.js全程實例
- 李柯泉編著
- 613字
- 2020-01-20 14:59:53
2.9 輸出控制鍵
在很多情況下,應用程序需要模擬組合控制鍵操作(如復制、粘貼、撤銷等)來代替用戶完成一些鍵盤操作功能。而在Node.js平臺下,通過readline模塊的write()方法可以實現向控制臺輸出控制鍵的功能。
下面通過一個具體的實例向讀者演示如何應用readline.write()方法實現對控制臺輸出的內容進行撤銷操作的功能。
【代碼2-9】(詳見源代碼目錄ch02-node-console-ctrl-key.js文件)

【代碼分析】
? 第04行通過console.info()方法向控制臺終端輸入一行內容提示文字。
? 第05~09行代碼執行了加載readline模塊并進行初始化定義的操作。
? 第10行代碼使用readline模塊的write()方法來向控制臺終端寫入一行文字內容。readline.write()方法的語法如下:
readline.write(data, [key])
write()方法將參數data的內容寫入控制臺標準輸出流,參數key是一個代表鍵序列的對象,當終端是一個TTY(計算機終端設備)時可用。
? 第11行通過變量timeoutLength定義了一段時間間隔(時長為3秒)。
? 第12~15行借助setTimeout()方法實現了經過一段時間延遲后,通過第14行中的rl.write()方法執行向控制臺模擬輸出撤銷操作快捷鍵并刪除之前寫入的一行文字內容的功能;其中rl.write()方法的key參數為一個JSON對象({ctrl:true, name:'u'}),該對象設定了一個組合控制鍵“Ctrl+U”,該組合控制鍵可以實現撤銷上一步操作的功能。
下面在控制臺中測試該代碼實例,具體效果如圖2.9和圖2.10所示。

圖2.9 向控制臺輸出組合控制鍵(1)

圖2.10 向控制臺輸出組合控制鍵(2)
從圖2.9和圖2.10中的結果可以看到,圖2.9中通過readline.write()方法向控制臺終端寫入的數據,在經過一段時間(3s)延遲后,再次通過readline.write()方法向控制臺終端寫入具有撤銷操作的組合控制鍵(Ctrl+U)后,實現了刪除數據的操作。
- 老“碼”識途
- PLC編程及應用實戰
- Mastering AndEngine Game Development
- MySQL數據庫管理與開發(慕課版)
- Python算法從菜鳥到達人
- The Complete Coding Interview Guide in Java
- 數據結構習題解析與實驗指導
- 零基礎入門學習Python(第2版)
- WordPress 4.0 Site Blueprints(Second Edition)
- 軟件測試綜合技術
- Java編程從入門到精通
- 深入解析Java編譯器:源碼剖析與實例詳解
- NGUI for Unity
- Python無監督學習
- Learning iOS Penetration Testing