【问题标题】:Repl.it program terminates before readlineRepl.it 程序在 readline 之前终止
【发布时间】:2019-09-05 01:06:47
【问题描述】:

我正在尝试从 repl.it 终端读取一些输入,但程序在 readline 接口关闭之前终止。

我目前正在使用 node.js 直接提供的代码。我从中获取文档的链接是here

这是我的代码的全部

const readline = require('readline');

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

rl.question('What do you think of Node.js? ', (answer) => {
  // TODO: Log the answer in a database
  console.log(`Thank you for your valuable feedback: ${answer}`);
  rl.close();

});

预期结果:问题出现,程序等待答案。然后,它记录Thank you for your valuable feedback: <answer-here> 并终止

结果:

【问题讨论】:

  • 我不确定 repl.it,但是如果你将代码复制到一个 js 文件(即index.js)并使用node index.js 运行它,它完全符合你的要求期待。
  • 你能分享 repl.it 链接吗?

标签: node.js readline repl.it


【解决方案1】:

不幸的是,由于我们为 Node.js 运行的旧系统导致了这种意外行为,在该系统中,我们有两种执行“模式”,评估模式(一个 .js 文件,REPL 可以与程序交互,实际上是 evals代码,因此您将没有异步功能等)和项目模式(多个.js 文件,REPL 无法与程序交互)。

目前,您可以通过添加一个空的.js 文件来将其启动到项目模式来修复它。

示例回复:https://repl.it/@timmy_i_chen/CandidGargantuanArchive

编辑:修复显然需要比我意识到的更长的时间。这是我们已经意识到的问题,并将在未来尝试解决。

【讨论】:

    【解决方案2】:

    使用 sdin 图标来输入你的文本,也许吧?

    【讨论】:

      猜你喜欢
      • 2021-07-15
      • 2021-06-01
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      相关资源
      最近更新 更多