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

Usage in Deno

```typescript import { Interface } from "node:node__readline--promises.d.ts"; ```
Interface.prototype.question(query: string): Promise<string>
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. If the question is called after `rl.close()`, it returns a rejected promise. Example usage: ```js const answer = await rl.question('What is your favorite food? '); console.log(`Oh, so your favorite food is ${answer}`); ``` Using an `AbortSignal` to cancel a question. ```js 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}`); ```

Parameters

query: string
A statement or query to write to `output`, prepended to the prompt.

Return Type

Promise<string>
A promise that is fulfilled with the user's input in response to the `query`.
Interface.prototype.question(
query: string,
options: Abortable,
): Promise<string>

Parameters

query: string
options: Abortable

Return Type

Promise<string>