rl.question(query, callback)

  • query <string> 要写入 output 的语句或询问,前置于提示符。
  • callback <Function> 回调函数,调用时传入用户的输入以响应 query

rl.question() 方法通过将 query 写入 output 来显示它,并等待用户在 input 上提供输入,然后调用 callback 函数将提供的输入作为第一个参数传入。

当调用时,如果 input 流已暂停,则 rl.question() 将恢复 input 流。

如果 readline.Interface 创建时 output 被设置为 nullundefined,则不会写入 query


rl.question('你最喜欢的食物是什么?', (answer) => {
  console.log(`你最喜欢的食物是 ${answer}`);

传给 rl.question()callback 函数不遵循接受 Error 对象或 null 作为第一个参数的经典模式。 调用 callback 时使用提供的答案作为唯一的参数。

  • query <string> A statement or query to write to output, prepended to the prompt.
  • callback <Function> A callback function that is invoked with the user's input in response to the query.

The rl.question() method displays the query by writing it to the output, waits for user input to be provided on input, then invokes the callback function passing the provided input as the first argument.

When called, rl.question() will resume the input stream if it has been paused.

If the readline.Interface was created with output set to null or undefined the query is not written.

Example usage:

rl.question('What is your favorite food? ', (answer) => {
  console.log(`Oh, so your favorite food is ${answer}`);

The callback function passed to rl.question() does not follow the typical pattern of accepting an Error object or null as the first argument. The callback is called with the provided answer as the only argument.