当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js readlinePromises.Interface rl.question(query[, options])用法及代码示例


rl.question(query[, options])

添加于:v17.0.0

参数
  • query <string> 要写入 output 的语句或查询,位于提示符之前。
  • options <Object>
    • signal <AbortSignal> (可选)允许使用 AbortSignal 取消 question()
  • 返回: <Promise> 一个承诺,由用户响应 query 的输入来实现。

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

调用时,rl.question() 将恢复已暂停的 input 流。

如果 readlinePromises.Interface 是在将 output 设置为 nullundefined 的情况下创建的,则不会写入 query

如果在 rl.close() 之后调用问题,它会返回一个被拒绝的承诺。

示例用法:

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

使用 AbortSignal 取消问题。

const signal = AbortSignal.timeout(10_000);

signal.addEventListener('abort', () => {
  console.log('The food question timed out');
}, { once: true });

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

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 rl.question(query[, options])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。