NodeJS“readline”模块不输出提示

2023-12-29

使用 NodeJS,我试图制作一个“笔记”管理器只是为了好玩,但是当我尝试使用 readline.question() 来获取用户关于他们想要做什么的输入(即创建一个新笔记、删除一个笔记) ),则不会显示提示。关于如何解决这个问题有什么建议吗?

项目链接 https://repl.it/@TheCoiledViper/File-Management-Node

`

    fileDatabase = [];
    var reply;
    var FileName;
    var FileContent;

    var readline = require('readline');
    var async = require('async');

    var rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
    });

    class NewFile {
        constructor(fileName,fileContent){
            this.fileName = fileName
            this.fileContent = fileContent
        }
    };

    console.log("Hello! Welcome to your file management system.")

    async.whilst(

        function(){
            return reply != "5";
        },

        function(callback){ 
            rl.question("Press a number:\n1: Create a new file.\n2: View a file.\n3: Add to a file.\n4: Delete a file.\n5: Exit this program.", function(answer) {
                var reply = answer
                console.log(reply)
                rl.close();
            });

            if (reply === "1") {
                rl.question("What would you like to name this file?", function(answer){
                    var FileName = answer
                    rl.close()
                });
                rl.question("Write onto your file. You will be able to edit it later.", function(answer){
                    var FileContent = answer
                    rl.close()
                });         
            }
            setTimeout(callback, 1000);
        },

        function(err) {
             console.err("we encountered an error", err); 
        }
    )

`


因为您只使用在线编辑器。 (至少我正在努力解决你的提示问题。)

我会建议https://www.katacoda.com/courses/nodejs/playground https://www.katacoda.com/courses/nodejs/playground

将您的代码复制到app.js file.

您将拥有Terminal标签。请先安装依赖项。

npm install -g 异步

npm install -g 阅读行

借此,您将拥有node_modules树下的文件夹。

然后点击node app.js链接左侧以黑色突出显示。

您应该注意代码的几件事:

  1. 请尝试分配一些默认值reply也许你可以这样做var reply = 0
  2. 将列表代码包装到条件 ifreply = 0.
  3. if (reply === "1")此条件将严格检查字符串。改用if(reply == 1).
  4. 并根据您的要求修改您的代码以进入下一个问题。

下面是修改后的代码:

fileDatabase = [];
var reply = 0;
var FileName;
var FileContent;

var readline = require('readline');
var async = require('async');

var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

class NewFile {
    constructor(fileName, fileContent) {
        this.fileName = fileName;
        this.fileContent = fileContent;
    }
}

console.log('Hello! Welcome to your file management system.');

async.whilst(
    function() {
        return reply != '5';
    },

    function(callback) {
 
        if (reply === 0) {
            rl.question(
                'Press a number:\n1: Create a new file.\n2: View a file.\n3: Add to a file.\n4: Delete a file.\n5: Exit this program.\n',
                function(answer) {
                     reply = answer;
                    rl.close();
                }
            );
      }

    if (reply == 1) {
        rl.question('What would you like to name this file?\n', function(answer) {
            var FileName = answer;
            rl.close();
        });
        rl.question(
            'Write onto your file. You will be able to edit it later.\n',
            function(answer) {
                var FileContent = answer;
                rl.close();
            }
        );
    }
    setTimeout(callback, 1000);
},

    function(err) {
        console.err('we encountered an error', err);
    }
);

供你参考:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NodeJS“readline”模块不输出提示 的相关文章

  • Typescript 编译错误:类型“typeof e”上不存在属性“bodyParser”

    我想在我的节点 express 环境中使用打字稿 托管在 Cloud 9 ide 中 我在尝试让编译器编译 app ts 时遇到问题 它出现了几个错误 其中属性 bodyParser 在类型 typeof e 上不存在就是其中之一 我在应用
  • contenteditable,在文本末尾设置插入符号(跨浏览器)

    输出在Chrome div style border 1px solid 000 width 500px height 40px hey div what s up div div div div
  • CSS 比例和方形中心裁剪图像

    所以我的应用程序中有一个缩略图集合 其大小为200x200 有时原始图像没有这个比例 所以我计划将此图像裁剪为正方形 目前它只是拉伸图像以适合缩略图 所以说我的原始图像大小是400x800 那么图像看起来就很压扁 我想裁剪此图像 以便它查看
  • javascript - 动态变量

    您好 我正在尝试创建动态变量 但它说 变量 v0 到 v5 未定义 td each function i eval var v i this html 任何帮助将不胜感激 这听起来是个坏主意 你有什么理由不能这样做吗 var tdHtml
  • Android 上的 Chrome 强制隐藏地址栏

    我最近开发了一个获取混合 http https 内容的网站 因此 我总是将地址栏显示在顶部 它不会像其他网站那样自动隐藏 这就是我要说的 This https planetkde org 是网站的链接 内容是从各种来源获取的 因此无法过滤非
  • History.pushState和页面刷新

    我开始研究 HTML5 新历史 API 不过 我有一个问题 如何处理页面刷新 例如 用户单击一个链接 该链接由 js 函数处理 该函数 异步加载页面内容 使用history pushState 更改URL 用户刷新页面 但是服务器上当然不存
  • 如何验证最终用户经过身份验证的令牌(使用 Firebase 身份验证)来调用 google cloud run 端点?

    请帮助使用 firebase 身份验证在云运行中进行最终用户身份验证 简短的介绍 我从 firebase 函数提交 Authorization Bearer idToken 标头 并使用电子邮件 密码 firebase 用户进行身份验证的
  • 开始使用 Three.js 中的行进立方体

    我是 Three js 的新手 正在寻找教程来帮助我开始了解如何在 Three js 中使用 Marching Cubes 到目前为止 我在 Three js 中看到的一些使用它的项目对我来说有点复杂 所以一个简单的教程会很好 谢谢 像您一
  • ajax 调用成功后点击链接 href

    我有一个正常的链接 a href http www google com class continue Continue a 我已将点击绑定到一个事件来发布 ajax 请求 如下所示 continue click function ajax
  • 如何在javascript中删除一组表情符号中的最后一个表情符号?

    假设我的字符串中有 3 个表情符号 字符串中没有任何空格或除表情符号之外的任何其他字符 如何删除javascript中最后一个表情符号 下面的答案不使用任何特殊的包并安全地删除最后一个表情符号 function safeEmojiBacks
  • 无法安装js-bson

    我正在使用Windows 7 64位 尝试安装bson作为mongodb的依赖项 我收到此错误 npm WARN package json email protected cdn cgi l email protection No READ
  • 如果 node_modules 目录存在,Azure 模拟器无法启动 Web 角色

    我想我只是偶然发现了一个非常奇怪的问题 我有一个相当大的解决方案 包括一个具有 3 个角色 两个工作角色和一个 Web 角色的 Azure 项目 Web角色基于asp net mvc和web api 昨天尝试 gulp 用于编译和捆绑较少的
  • 如何使表格单元格的最小宽度为 3 位数字?

    如何使表格中的每个单元格的最小宽度为 3 位数字且不会更大 现在我正在硬编码min width 但我不喜欢硬编码一个值 因为我将来可能想更改字体 如果需要Javascript也没关系 table border 1 tr td 1 td td
  • Google 折线图添加对象数组

    我有一个通过解析 JSON 字符串创建的对象数组 var measurementData Html Raw JsonConvert SerializeObject this Model Item1 var stringifiedData J
  • 响应覆盖 div 下的链接

    场景是这样的 我已经构建了一个顶部导航原型 它需要在其顶部有一个覆盖 透明 PNG 图像 目前它覆盖了大约 1 3 的链接 请看下面 有什么方法可以让前 1 3 的链接做出响应 即使有一个 div div 部分覆盖它们 覆盖层不会包含任何可
  • 如何使用 Javascript 从 Chrome iOS 下载 blob 文件?

    如何使用 Javascript 从 Chrome iOS 下载 blob 文件 我正在从 iOS 下载文件 pdf excel txt png iOS 没有文件系统 这对下载来说是一个问题 我创建了一个代码 根据操作系统和导航器 如果需要
  • 在状态中检测到不可序列化的值,路径为:`filters.startDate` (redux-toolkit.esm.js )

    我正在使用 React 18 和 Redux 构建一个预算应用程序 我不知道这里有什么问题 import moment from moment const filtersDefaultState text sortBy date start
  • 如何缩放到高图中的特定点

    Highmaps highcharts 是一个 javascript jquery 适配器 可在浏览器等中呈现地图 我有一张突出显示单个国家 地区的地图 但是 世界 地图的比例如此之大 因此我想在将地图加载到相关国家 地区后进行放大 看看
  • RemoveEventListener 在 Firefox 版本 58 中不起作用

    但它在 Chrome 中有效 这是我的 UI EventBus 代码 原型 addEventListener方法是一样的 只不过remove换成了add UI EventBus removeEventListener function ob
  • ESLint 如何集成到 Create React App 中?

    当我跑步时npx create react app some name 为我创建了一个简单的 React 项目 当我随后窥视package json 似乎有一些 ESLint 存在的证据 因为有 eslintConfig extends r

随机推荐