Skip to main content
Interface.prototype.question - node__readline.d.ts - Node documentation
method Interface.prototype.question

Usage in Deno

```typescript import { Interface } from "node:node__readline.d.ts"; ```
Interface.prototype.question(
query: string,
callback: (answer: string) => void,
): void
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 `Interface` was created with `output` set to `null` or `undefined` the `query` is not written. 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. An error will be thrown if calling `rl.question()` after `rl.close()`. Example usage: ```js rl.question('What is your favorite food? ', (answer) => { console.log(`Oh, so your favorite food is ${answer}`); }); ``` Using an `AbortController` to cancel a question. ```js 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); ```

Parameters

query: string
A statement or query to write to `output`, prepended to the prompt.
callback: (answer: string) => void
A callback function that is invoked with the user's input in response to the `query`.

Return Type

void
Interface.prototype.question(
query: string,
options: Abortable,
callback: (answer: string) => void,
): void

Parameters

query: string
options: Abortable
callback: (answer: string) => void

Return Type

void