rl.question(query[, options], callback)
添加於:v0.3.3
參數
query
<string> 要寫入output
的語句或查詢,位於提示符之前。options
<Object>signal
<AbortSignal> (可選)允許使用AbortController
取消question()
。
callback
<Function> 使用用戶輸入調用的回調函數,以響應query
。
rl.question()
方法通過將 query
寫入 output
來顯示它,等待在 input
上提供用戶輸入,然後調用 callback
函數,將提供的輸入作為第一個參數傳遞。
調用時,rl.question()
將恢複已暫停的 input
流。
如果 readline.Interface
是在將 output
設置為 null
或 undefined
的情況下創建的,則不會寫入 query
。
傳遞給rl.question()
的callback
函數不遵循接受Error
對象或null
作為第一個參數的典型模式。 callback
以提供的答案作為唯一參數調用。
如果在 rl.close()
之後調用 rl.question()
將引發錯誤。
示例用法:
rl.question('What is your favorite food? ', (answer) => {
console.log(`Oh, so your favorite food is ${answer}`);
});
使用 AbortController
取消問題。
const ac = new AbortController();
const signal = ac.signal;
rl.question('What is your favorite food? ', { signal }, (answer) => {
console.log(`Oh, so your favorite food is ${answer}`);
});
signal.addEventListener('abort', () => {
console.log('The food question timed out');
}, { once: true });
setTimeout(() => ac.abort(), 10000);
相關用法
- Node.js InterfaceConstructor rl.question(query[, options], callback)用法及代碼示例
- Node.js readlinePromises.Interface rl.question(query[, options])用法及代碼示例
- Node.js InterfaceConstructor rl.line用法及代碼示例
- Node.js InterfaceConstructor rl.write(data[, key])用法及代碼示例
- Node.js InterfaceConstructor rl[Symbol.asyncIterator]()用法及代碼示例
- Node.js http2.Http2ServerRequest request.url用法及代碼示例
- Node.js request.socket用法及代碼示例
- Node.js http.ServerResponse response.statusCode用法及代碼示例
- Node.js readStream.isRaw用法及代碼示例
- Node.js http.ClientRequest request.getHeaders()用法及代碼示例
- Node.js http2.Http2ServerRequest request.headers用法及代碼示例
- Node.js http.ClientRequest request.setHeader(name, value)用法及代碼示例
- Node.js response.writeContinue()用法及代碼示例
- Node.js http2.Http2ServerResponse response.removeHeader(name)用法及代碼示例
- Node.js response.removeHeader()用法及代碼示例
- Node.js http.ServerResponse response.getHeaderNames()用法及代碼示例
- Node.js request.writableEnded用法及代碼示例
- Node.js http.ClientRequest request.getHeaderNames()用法及代碼示例
- Node.js http2.Http2ServerResponse response.hasHeader(name)用法及代碼示例
- Node.js http.ClientRequest request.removeHeader(name)用法及代碼示例
- Node.js http.ClientRequest request.getHeader(name)用法及代碼示例
- Node.js http.ServerResponse response.removeHeader(name)用法及代碼示例
- Node.js http.ClientRequest request.reusedSocket用法及代碼示例
- Node.js http.ServerResponse response.hasHeader(name)用法及代碼示例
- Node.js response.setHeader()用法及代碼示例
注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 rl.question(query[, options], callback)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。