npm 包 promise-readline 使用教程

阅读时长 4 分钟读完

引言

在前端开发中,经常需要获取用户的输入,而 Node.js 提供了一种比较方便的方法——使用 readline 模块。但是 readline 模块返回的都是回调函数,不够方便。

-- -------------------- ---- -------
----- -------- - --------------------
----- -- - --------------------------
    ------ --------------
    ------- --------------
---

----------------------- ------ -- -
    ----------------- - ------
    -----------
---

为了更加方便地使用 readline,可以使用 npm 包 promise-readline。

安装

使用 npm 安装:

使用示例

promise-readline 和 readline 唯一不同的就是它封装了回调函数,改为了 Promise,使用也更加方便。下面展示了一个简单的使用示例。

-- -------------------- ---- -------
----- - --------------- - - ----------------------------
------ -- -- -
    ----- -- - -----------------
        ------ --------------
        ------- --------------
    ---
    ----- ---- - ----- ------------------------
    --------------------------
    -----------
-----

输出:

API

promise-readline 的 API 与 readline 类似,主要封装了 Interface 的回调函数为 Promise。

createInterface

promise-readline 的入口函数,返回一个 Interface 对象。

readline 类似,options 支持以下属性:

  • input:输入流
  • output:输出流

Interface 对象

Interface 对象是 promise-readline 封装过后的对象,包含以下方法。

rl.question(query[, options])

返回一个 Promise,该 Promise 将在输入完答案后被解决。

-- -------------------- ---- -------
----- - --------------- - - ----------------------------
----- -- - -----------------
    ------ --------------
    ------- --------------
---
---------------------------------- -- -
    --------------------------
    -----------
---

支持以下参数:

  • query: 一个问题,被显示给用户。 最后一个字符应该是 ?? 以提示用户提供输入。 它也可以是一个包含两个属性(key 等)的对象,以便在呈现问题时配置读取行为。
  • options
    • hideEchoBack:输入模拟。 如果设置为 true,输入将显示为星号(如密码)。 默认为 false

rl.pause()

暂停输入流。

rl.resume()

恢复输入流。

rl.clearLine()

清除当前行。

rl.clearScreenDown()

清除当前行到屏幕底部

rl.close()

关闭 Interface 实例。

结语

本文介绍了 npm 包 promise-readline 的使用和 API,相比较原生的 readline 模块,promise-readline 更加方便和易用,可以极大地提高前端开发效率。我相信通过本文的介绍,读者们都可以掌握 promise-readline 的使用方法。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60057c5281e8991b448ebd40

纠错
反馈