Node.js Readline() Module
const readline = require('readline');
The Readline module comes with different methods to interact with the user.
Interaction with the user: For the interaction, we will first create an interface for the input and output. For creating an interface, write the following code –
Here, the createInterface() method takes two arguments. The first argument will be for the standard input and the second one will be for reading the standard output.
Here, rl.question() method is used for asking questions from the user and reading their reply (output). The first parameter is used to ask the question and the second parameter is a callback function that will take the output from the user as the parameter and return it to the console.
The output for the above code will be –
What is your age? 20 Your age is: 20
Here, the problem is it will not exit the application and it will keep asking for the inputs. To resolve this issue, rl.close() method is used. This method will close the interface. To use it in the application, write the following –
We can also use a setPrompt() method is used to set the particular statement to the console. prompt() method for displaying the statement which is set in setPrompt() Method. Therefore, write the following code –
This code will take input from the user. Now, we need a listener for reading the input from the user and displaying it to the console. For this purpose, Readline Module has a listener method called on that will take two parameters. The first parameter will the event and the second parameter will be a callback function that will return the output to the console. For example –
Here, rl.on() method takes the first argument as a line event. This event is invoked whenever the user presses Enter key. The output for the above code will be –
What is your age? 20 Age received by the user: 20
Events: Along with the listener, readline module also comes with the event’s properties. Let us learn about the various events.
- close: This event is invoked when either rl.close() method is called or when the user presses ctrl + c to close the interface.
- line: This event is invoked whenever the user presses Enter or return keys. This event is called the listener function.
- pause: This event is invoked when the input stream is paused. For example –
- The output for the above code will be:
Paused Event is invoked
- resume: This event is invoked whenever the input is resumed. For example:
- SIGINT: This event is invoked whenever the user press ctrl + c button. If there are no event listeners registered when the SIGINT is invoked, then the pause event will be invoked. For example –
- This code will ask the given question if the ctrl + c key is pressed by the user. Here, if the provided input will match with y or yes, then the pause() method will be called on the interface.
- SIGTSTP: This event is invoked whenever the user gives ctrl + z input. This input is known as SIGTSTP. If a user does not provide the SIGTSTP input, then the current running process will be sent to the background. For example –
- SIGCONT: This event is invoked when a process that was sent to the background using SIGTSTP is again brought back to the front-running process. For example:
Conclusion: In this article, we learned about the Readline Module in Node.js. Also, we learned about its various implementations using methods, variables, events, and listeners.
Please Login to comment...