簡體   English   中英

運行 Node.js Readline 函數

[英]Running Node.js Readline functions

我是 Node.js 的新手,我不明白 readline 模塊是如何工作的。 這是我的代碼塊:

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


readline.question(`What's your funny name?`, name => {
  console.log(`Hi ${name}!`);
  readline.close();
});

請注意,此代碼塊來自 SO 上的此位置: Node.js“readline”未按預期工作

我期待對 readline.question 的調用將暫停並等待用戶響應,但這並沒有發生。 程序繼續運行而不暫停輸入。

我也試過

      process.stdin.read()
      process.stdin.on("data", (data) => {
        myAnswers.push(data);
        askQuestions(questionNumber+1);
      })

同樣,代碼不會暫停以允許用戶輸入一些文本。

任何援助將不勝感激。

這是來自官方 Node.js 文檔的示例,如果您說您的代碼不起作用,也許可以這樣嘗試:

import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';

const rl = readline.createInterface({ input, output });

const answer = await rl.question('What do you think of Node.js? ');

console.log(`Thank you for your valuable feedback: ${answer}`);

rl.close();

Node.js 文檔: https://nodejs.org/api/readline.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM