當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。