Skip to main content
promises.Interface - node__readline.d.ts - Node documentation
class promises.Interface
extends _Interface

Usage in Deno

```typescript import { promises } from "node:node__readline.d.ts"; ```
Instances of the `readlinePromises.Interface` class are constructed using the `readlinePromises.createInterface()` method. Every instance is associated with a single `input` `Readable` stream and a single `output` `Writable` stream. The `output` stream is used to print prompts for user input that arrives on, and is read from, the `input` stream.

Methods

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}`); ```
question(
query: string,
options: Abortable,
): Promise<string>