最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js中readline模塊實(shí)現(xiàn)終端輸入

 更新時(shí)間:2022年02月18日 15:14:59   作者:橘貓吃不胖~  
本文主要介紹了Node.js中readline模塊實(shí)現(xiàn)終端輸入,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1 概述

readline是Node.js里實(shí)現(xiàn)標(biāo)準(zhǔn)輸入輸出的封裝好的模塊,通過這個(gè)模塊我們可以以逐行的方式讀取數(shù)據(jù)流。使用require("readline")可以引用模塊。

使用readline步驟:
1、引入:require('readline')
2、創(chuàng)建readline對(duì)象(接口)
3、調(diào)用接口的相關(guān)方法
4、監(jiān)聽和處理readline事件

示例代碼:

// 引入readline模塊
const readline = require("readline");

// 創(chuàng)建readline接口實(shí)例
let r1 = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

//調(diào)用接口方法
r1.question("你叫什么名字\t", function (answer) {
    console.log("我的名字是:", answer);
    // 不加close,則不會(huì)結(jié)束
    r1.close();
})

//close事件監(jiān)聽
r1.on("close", function () {
    // 結(jié)束程序
    process.exit(0);
})

在這里插入圖片描述

2 readline的使用

第一步:createInterface創(chuàng)建了一個(gè)接口實(shí)例
第二步:調(diào)用相關(guān)方法,如question方法輸入
第三步:監(jiān)聽readline的close事件

注意:
1、在createInterface里,需要傳入標(biāo)準(zhǔn)輸入輸出作為數(shù)據(jù)的輸入輸出流
2、在question方法的回調(diào)函數(shù)里,可以獲取到用戶的輸入并進(jìn)行處理,同時(shí)進(jìn)行了close操作來結(jié)束程序,否則程序不會(huì)結(jié)束
3、在close事件的監(jiān)聽里,執(zhí)行了process.exit(0)來使程序退出的操作,因?yàn)閞eadline模塊只要一開始獲取用戶輸入就不會(huì)結(jié)束,必須使用這種直接的方式來結(jié)束程序

3 示例1:輸入輸出

示例代碼:

// 引入readline模塊
let readline = require("readline");

// 創(chuàng)建接口實(shí)例
let r1 = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// 調(diào)用接口方法
r1.on("line", function (line) {
    switch (line.trim()) {
        case "copy":
            console.log("復(fù)制");
            break;
        case "hello":
            r1.write("Hello ");
            console.log("World!");
            break;
        case "close":
            r1.close();
            break;
        default:
            console.log("沒有找到命令!");
            break;
    }
})

// close事件監(jiān)聽
r1.on("close", function () {
    console.log("再見");
    process.exit(0);
})

在這里插入圖片描述

注意:'line’事件,這個(gè)事件就是在用戶輸完一行,按下回車后就會(huì)觸發(fā)的事件,它會(huì)將用戶輸入的數(shù)據(jù)通過回調(diào)函數(shù)傳回來,可在此方法里處理用戶輸入的數(shù)據(jù)

4 示例2:模擬命令行的輸入輸出

示例代碼:

// 引入readline模塊
let readline = require("readline");

// 創(chuàng)建接口實(shí)例
let r1 = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})

// 方法方法setPromat(promat) ,就是給每一行設(shè)置一個(gè)提示符,
// 就好比window命令行的> ,這里設(shè)置的是Test>
r1.setPrompt("Test> ");
// prompt()是最重要的方法,因?yàn)樗w現(xiàn)了readline的核心作用,
// 以行為單位讀取數(shù)據(jù),prompt方法就是在等待用戶輸入數(shù)據(jù)
r1.prompt();

// 調(diào)用接口方法
// 監(jiān)聽了'line' 事件,因?yàn)閜rompt方法調(diào)用一次就只會(huì)讀取一次數(shù)據(jù)
// 所以,在這個(gè)方法又調(diào)用了一次prompt方法,這樣就可以繼續(xù)讀取用戶輸入
// 從而達(dá)到一種命令行的效果
r1.on("line", function (line) {
    switch (line.trim()) {
        case "copy":
            console.log("復(fù)制");
            break;
        case "hello":
            console.log("World!");
            break;
        case "close":
            r1.close();
            break;
        default:
            console.log("沒有找到命令!");
            break;
    }
    r1.prompt();
});

// close事件監(jiān)聽
r1.on("close", function () {
    console.log("再見");
    process.exit(0);
})

在這里插入圖片描述

說明:
1、方法setPromat(promat) ,就是給每一行設(shè)置一個(gè)提示符,就好比window命令行的> ,這里設(shè)置的是Test>
2、prompt()是最重要的方法,因?yàn)樗w現(xiàn)了readline的核心作用,以行為單位讀取數(shù)據(jù),prompt方法就是在等待用戶輸入數(shù)據(jù)
3、監(jiān)聽了’line’ 事件,因?yàn)閜rompt方法調(diào)用一次就只會(huì)讀取一次數(shù)據(jù),所以,在這個(gè)方法又調(diào)用了一次prompt方法,這樣就可以繼續(xù)讀取用戶輸入,從而達(dá)到一種命令行的效果

到此這篇關(guān)于Node.js中readline模塊實(shí)現(xiàn)終端輸入的文章就介紹到這了,更多相關(guān)Node.js 終端輸入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows部署NVM并下載多版本Node.js的方法(含刪除原有Node的方法)

    Windows部署NVM并下載多版本Node.js的方法(含刪除原有Node的方法)

    這篇文章主要介紹了Windows部署NVM并下載多版本Node.js的方法(含刪除原有Node的方法),文中通過圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家了解Node.js有一定的幫助,需要的朋友可以參考下
    2025-01-01
  • node.js學(xué)習(xí)之交互式解釋器REPL詳解

    node.js學(xué)習(xí)之交互式解釋器REPL詳解

    Node.js REPL(Read Eval Print Loop:交互式解釋器) 表示一個(gè)電腦的環(huán)境,類似Window 系統(tǒng)的終端或 Unix/Linux shell,我們可以在終端中輸入命令,并接收系統(tǒng)的響應(yīng)。下面這篇文章我們就來詳細(xì)的介紹下關(guān)于node.js交互式解釋器REPL的內(nèi)容,有需要的朋友們可以參考借鑒。
    2016-12-12
  • Node.js?實(shí)現(xiàn)簡單爬蟲的示例代碼

    Node.js?實(shí)現(xiàn)簡單爬蟲的示例代碼

    本文主要介紹了Node.js?實(shí)現(xiàn)簡單爬蟲,爬取美食網(wǎng)站的菜品標(biāo)題和圖片鏈接,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 從零開始學(xué)習(xí)Node.js系列教程一:http get和post用法分析

    從零開始學(xué)習(xí)Node.js系列教程一:http get和post用法分析

    這篇文章主要介紹了從零開始學(xué)習(xí)Node.js系列教程一:http get和post用法,結(jié)合具體實(shí)例形式分析了nodejs中g(shù)et與post請(qǐng)求的使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-04-04
  • 學(xué)習(xí) NodeJS 第八天:Socket 通訊實(shí)例

    學(xué)習(xí) NodeJS 第八天:Socket 通訊實(shí)例

    本篇文章主要介紹了學(xué)習(xí) NodeJS 第八天:Socket 通訊實(shí)例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2016-12-12
  • Node Puppeteer圖像識(shí)別實(shí)現(xiàn)百度指數(shù)爬蟲的示例

    Node Puppeteer圖像識(shí)別實(shí)現(xiàn)百度指數(shù)爬蟲的示例

    本篇文章主要介紹了Node Puppeteer圖像識(shí)別實(shí)現(xiàn)百度指數(shù)爬蟲的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • 淺談Nodejs觀察者模式

    淺談Nodejs觀察者模式

    這篇文章主要介紹了淺談Nodejs觀察者模式的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • Node.js 中的流Stream模塊簡介及如何使用流進(jìn)行數(shù)據(jù)處理

    Node.js 中的流Stream模塊簡介及如何使用流進(jìn)行數(shù)據(jù)處理

    Node.js中的流(Stream)模塊用于高效處理流式數(shù)據(jù),包括可讀流、可寫流、雙邊流和轉(zhuǎn)換流等,通過`fs.createReadStream`和`.pipe`方法可以方便地讀取文件并寫入控制臺(tái)或處理網(wǎng)絡(luò)請(qǐng)求,在實(shí)際開發(fā)中,需要注意錯(cuò)誤處理、資源管理和性能優(yōu)化等問題
    2025-03-03
  • node.js中的http.request.end方法使用說明

    node.js中的http.request.end方法使用說明

    這篇文章主要介紹了node.js中的http.request.end方法使用說明,本文介紹了http.request.end的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js參數(shù)校驗(yàn)?zāi)Kminijoi使用詳解

    Node.js參數(shù)校驗(yàn)?zāi)Kminijoi使用詳解

    這篇文章主要為大家介紹了Node.js參數(shù)校驗(yàn)?zāi)Kminijoi使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09

最新評(píng)論

澄迈县| 威信县| 遂昌县| 襄樊市| 泸水县| 壤塘县| 灌南县| 陵川县| 富川| 昭觉县| 章丘市| 南投县| 桃园市| 神农架林区| 女性| 甘洛县| 满洲里市| 罗平县| 吉林省| 陆河县| 宁化县| 遵义市| 出国| 黑河市| 上杭县| 双流县| 威信县| 乌什县| 锡林郭勒盟| 扎囊县| 河西区| 朔州市| 侯马市| 闻喜县| 牡丹江市| 吉首市| 新闻| 闽侯县| 滁州市| 蚌埠市| 六安市|