Bài viết này tập trung vào một số cách phổ biến để đọc tệp trong Node. js [cũng sử dụng TypeScript cho các ví dụ mã]
import { createReadStream } from 'fs'
86 mô-đun gốc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}- Thư viện npm mã nguồn mở
import { createReadStream } from 'fs'
87
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Một lỗi phổ biến khi đọc từng dòng tệp trong Node. js là đọc toàn bộ tệp vào bộ nhớ và sau đó chia nhỏ nội dung của nó bằng cách ngắt dòng. Làm điều này có thể làm quá tải hệ thống của bạn, đặc biệt là khi xử lý các tệp lớn
Đây là một tệp mẫu có nhiều dòng cần được xử lý từng dòng
# app.logLine 1
Line 2
Line 3
Line 4
Line 5
...
dòng đọc
Nút. js có một đường dẫn mô-đun gốc cung cấp giao diện để đọc dữ liệu từ luồng một dòng tại một thời điểm
Chúng tôi có thể sử dụng hành vi này để đọc từ luồng tệp và xử lý từng dòng riêng biệt
Về cơ bản, các bước để đạt được điều này là
- tạo đối tượng realine bằng hàm
import { createReadStream } from 'fs'
88. Trong khi thực hiện việc này, chúng tôi phải cung cấp luồng tệp
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]} - liên kết người nghe với sự kiện
import { createReadStream } from 'fs'
89
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Đoạn mã sau sử dụng Node. js gốc mô-đun
import { createReadStream } from 'fs'86 để đọc tệp trên thành một luồng và in từng dòng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Gọi hàm
import { createReadStream } from 'fs'1 tạo đầu ra sau
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
ConsoleLine 1
Line 2
Line 3
Line 4
Line 5
...
Cách tiếp cận này vượt trội so với
import { createReadStream } from 'fs'2 thông thường mặc dù Node. js vẫn cố giữ toàn bộ tệp trong bộ nhớ khi truyền tệp đầu vào sang đầu ra
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Chúng tôi sẽ cần một giải pháp mới nếu bạn có một tệp thực sự lớn để xử lý từng dòng một
Luồng sự kiện
EventStream là một thư viện NPM phổ biến hứa hẹn sẽ giúp việc tạo và làm việc với các luồng trở nên dễ dàng
Để sử dụng EventStream, hãy cài đặt bằng npm
npm i --save-exact event-stream
Tùy chọn, để cài đặt các loại
npm i --save-exact --save-dev @types/event-stream
Khi EventStream được cài đặt, chúng tôi sẽ chỉ chuyển luồng đọc tới người nghe để đọc từng dòng tệp
Dưới đây là đoạn mã sử dụng ________ 13 để đạt được điều tương tự như đoạn mã trong đoạn mã ________ 486 ở trên
________số 8Phần kết luận
Ở đây tôi đã trình bày hai cách khác nhau để đọc từng dòng tệp, một cách có nút. js và một mô-đun khác với thư viện mã nguồn mở phổ biến
Chọn một trong các phương pháp tùy thuộc vào nhu cầu của bạn. Và nếu kích thước dữ liệu lớn, bạn nên sử dụng thư viện EventStream để không làm hỏng máy chủ Node
Mô-đun
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
2 cung cấp giao diện để đọc dữ liệu từ luồng Có thể đọc [chẳng hạn như import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
3] mỗi lần một dòngĐể sử dụng các API dựa trên lời hứa
import { createReadStream } from 'fs'1
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Để sử dụng API gọi lại và đồng bộ hóa
import { createReadStream } from 'fs'2
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Ví dụ đơn giản sau đây minh họa cách sử dụng cơ bản của mô-đun
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
2import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
Khi mã này được gọi, Nút. ứng dụng js sẽ không kết thúc cho đến khi đóng
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
5 vì giao diện chờ nhận dữ liệu trên luồng import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6Tầng lớp. import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7#
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
Các thể hiện của lớp
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 được xây dựng bằng phương thức import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
9 hoặc import { createReadStream } from 'fs'00. Mọi phiên bản được liên kết với một luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 Có thể đọc và một luồng duy nhất import { createReadStream } from 'fs'02 Có thể ghi. Luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'02 được sử dụng để in lời nhắc cho đầu vào của người dùng xuất hiện và được đọc từ luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6Biến cố. import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
05#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Sự kiện
import { createReadStream } from 'fs'05 được phát ra khi một trong những điều sau đây xảy ra
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
- Phương thức
import { createReadStream } from 'fs'
07 được gọi và thực thể
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
7 đã từ bỏ quyền kiểm soát đối với các luồngimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
6 vàimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02;
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]} - Luồng
6 nhận sự kiệnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
ConsoleLine 1
22 của nó;
Line 2
Line 3
Line 4
Line 5
... - Luồng
6 nhận Ctrl+D để báo hiệu kết thúc truyền [EOT];import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
- Luồng
6 nhận Ctrl+C để báo hiệuimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
ConsoleLine 1
25 và không có trình xử lý sự kiện
Line 2
Line 3
Line 4
Line 5
...ConsoleLine 1
26 nào được đăng ký trên phiên bản
Line 2
Line 3
Line 4
Line 5
...
7import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Hàm nghe được gọi mà không truyền bất kỳ đối số nào
Phiên bản
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 kết thúc sau khi sự kiện import { createReadStream } from 'fs'05 được phát ra
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Biến cố. import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
00#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Sự kiện
import { createReadStream } from 'fs'00 được phát ra bất cứ khi nào luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 nhận được đầu vào cuối dòng [import { createReadStream } from 'fs'03,
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'04 hoặc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'05]. Điều này thường xảy ra khi người dùng nhấn Enter hoặc Return
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Sự kiện
import { createReadStream } from 'fs'00 cũng được phát ra nếu dữ liệu mới đã được đọc từ một luồng và luồng đó kết thúc mà không có điểm đánh dấu cuối dòng cuối cùng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Hàm nghe được gọi với một chuỗi chứa một dòng đầu vào nhận được
import { createReadStream } from 'fs'0
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Biến cố. import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
07#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Đã thêm vào. v15. 8. 0, v14. 18. 0
Sự kiện
import { createReadStream } from 'fs'07 được phát ra bất cứ khi nào mảng lịch sử thay đổi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Hàm nghe được gọi với một mảng chứa mảng lịch sử. Nó sẽ phản ánh tất cả các thay đổi, các dòng được thêm và các dòng bị xóa do
import { createReadStream } from 'fs'09 và
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
npm i --save-exact event-stream
10Mục đích chính là cho phép người nghe lưu lại lịch sử. Người nghe cũng có thể thay đổi đối tượng lịch sử. Điều này có thể hữu ích để ngăn một số dòng nhất định được thêm vào lịch sử, chẳng hạn như mật khẩu
ConsoleLine 12
Line 2
Line 3
Line 4
Line 5
...
Biến cố. npm i --save-exact event-stream
11#
Sự kiện
npm i --save-exact event-stream
11 được phát ra khi một trong những điều sau đây xảy ra- Luồng
6 bị tạm dừngimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
- Luồng
6 không bị tạm dừng và nhận sự kiệnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
npm i --save-exact event-stream
15. [Xem sự kiệnnpm i --save-exact event-stream
16 vànpm i --save-exact event-stream
15. ]
Hàm nghe được gọi mà không truyền bất kỳ đối số nào
import { createReadStream } from 'fs'0
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Biến cố. npm i --save-exact event-stream
18#
Sự kiện
npm i --save-exact event-stream
18 được phát ra bất cứ khi nào luồng import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 được tiếp tụcHàm nghe được gọi mà không truyền bất kỳ đối số nào
npm i --save-exact event-stream
1Biến cố. npm i --save-exact event-stream
15#
Sự kiện
npm i --save-exact event-stream
15 được phát ra khi một Nút. js trước đó đã được di chuyển vào nền bằng cách sử dụng Ctrl+Z [i. e. npm i --save-exact --save-dev @types/event-stream
73] sau đó được đưa trở lại nền trước bằng cách sử dụng npm i --save-exact --save-dev @types/event-stream
74Nếu luồng
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 bị tạm dừng trước yêu cầu npm i --save-exact --save-dev @types/event-stream
73, thì sự kiện này sẽ không được phát raHàm nghe được gọi mà không truyền bất kỳ đối số nào
Sự kiện
npm i --save-exact event-stream
15 không được hỗ trợ trên WindowsBiến cố. ConsoleLine 1
Line 2
Line 3
Line 4
Line 5
...
26#
Line 2
Line 3
Line 4
Line 5
...
Sự kiện
ConsoleLine 126 được phát ra bất cứ khi nào luồng
Line 2
Line 3
Line 4
Line 5
...
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 nhận được đầu vào Ctrl+C, thường được gọi là ConsoleLine 125. Nếu không có trình lắng nghe sự kiện
Line 2
Line 3
Line 4
Line 5
...
ConsoleLine 126 nào được đăng ký khi luồng
Line 2
Line 3
Line 4
Line 5
...
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 nhận được một ConsoleLine 125, thì sự kiện
Line 2
Line 3
Line 4
Line 5
...
npm i --save-exact event-stream
11 sẽ được phát raHàm nghe được gọi mà không truyền bất kỳ đối số nào
npm i --save-exact --save-dev @types/event-stream
7Biến cố. npm i --save-exact event-stream
16#
Sự kiện
npm i --save-exact event-stream
16 được phát ra khi luồng import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 nhận được đầu vào Ctrl+Z, thường được gọi là npm i --save-exact --save-dev @types/event-stream
73. Nếu không có trình lắng nghe sự kiện npm i --save-exact event-stream
16 nào được đăng ký khi luồng import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 nhận được một npm i --save-exact --save-dev @types/event-stream
73, nút. js sẽ được gửi đến nềnKhi chương trình được tiếp tục sử dụng
npm i --save-exact --save-dev @types/event-stream
74, các sự kiện npm i --save-exact event-stream
11 và npm i --save-exact event-stream
15 sẽ được phát ra. Chúng có thể được sử dụng để tiếp tục luồng import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6Các sự kiện
npm i --save-exact event-stream
11 và npm i --save-exact event-stream
15 sẽ không được phát ra nếu import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 bị tạm dừng trước khi quá trình được gửi đến nềnHàm nghe được gọi mà không truyền bất kỳ đối số nào
Sự kiện
npm i --save-exact event-stream
16 không được hỗ trợ trên Windowsimport { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
07#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'07 đóng phiên bản
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 và từ bỏ quyền kiểm soát đối với các luồng import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 và import { createReadStream } from 'fs'02. Khi được gọi, sự kiện
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'05 sẽ được phát ra
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Việc gọi
import { createReadStream } from 'fs'07 không ngay lập tức ngăn chặn các sự kiện khác [bao gồm cả
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'00] được phát ra bởi phiên bản
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
210#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'210 tạm dừng luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6, cho phép tiếp tục lại sau nếu cầnViệc gọi
import { createReadStream } from 'fs'210 không tạm dừng ngay lập tức các sự kiện khác [bao gồm cả
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'00] do phiên bản
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 phát raimport { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
216#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'
217 Nếu
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
218, ngăn không cho đặt lại vị trí con trỏ thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
219
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'220 ghi các phiên bản
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 được định cấu hình import { createReadStream } from 'fs'222 vào một dòng mới trong
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'02 để cung cấp cho người dùng một vị trí mới để cung cấp đầu vào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Khi được gọi,
import { createReadStream } from 'fs'220 sẽ tiếp tục luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 nếu nó đã bị tạm dừngNếu
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 được tạo với import { createReadStream } from 'fs'02 được đặt thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'228 hoặc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'229 thì lời nhắc sẽ không được viết
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
230#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'230 tiếp tục luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 nếu nó đã bị tạm dừngimport { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
233#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'234 đặt lời nhắc sẽ được ghi vào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'02 bất cứ khi nào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'220 được gọi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
237#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Đã thêm vào. v15. 3. 0, v14. 17. 0
- trả lại. chuỗi dấu nhắc hiện tại
Phương thức
import { createReadStream } from 'fs'237 trả về lời nhắc hiện tại được sử dụng bởi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'220
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
240#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'241 sẽ ghi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'242 hoặc một chuỗi khóa được xác định bởi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'243 vào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'02. Đối số
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'243 chỉ được hỗ trợ nếu
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'02 là thiết bị đầu cuối văn bản TTY. Xem tổ hợp phím TTY để biết danh sách tổ hợp phím
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Nếu
import { createReadStream } from 'fs'243 được chỉ định, thì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'242 sẽ bị bỏ qua
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Khi được gọi,
import { createReadStream } from 'fs'241 sẽ tiếp tục luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 nếu nó đã bị tạm dừngNếu
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 được tạo với import { createReadStream } from 'fs'02 được đặt thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'228 hoặc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'229 thì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'242 và
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'243 không được viết
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'241 sẽ ghi dữ liệu vào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
6 của import { createReadStream } from 'fs'258
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'259 như thể nó được cung cấp bởi người dùng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
261#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Lịch sửPhiên bảnChangesv11. 14. 0, v10. 17. 0
Biểu tượng. hỗ trợ asyncIterator không còn thử nghiệm
v11. 4. 0, v10. 16. 0Đã thêm vào. v11. 4. 0, v10. 16. 0
Tạo đối tượng
import { createReadStream } from 'fs'262 lặp qua từng dòng trong luồng đầu vào dưới dạng chuỗi. Phương thức này cho phép lặp không đồng bộ các đối tượng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 thông qua các vòng lặp import { createReadStream } from 'fs'264
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Lỗi trong luồng đầu vào không được chuyển tiếp
Nếu vòng lặp kết thúc bằng
import { createReadStream } from 'fs'265,
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'266 hoặc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'267, thì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'07 sẽ được gọi. Nói cách khác, việc lặp lại trên một
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'node:process';
const rl = readline.createInterface[{ input, output }];
const answer = await rl.question['What do you think of Node.js? '];
console.log[`Thank you for your valuable feedback: ${answer}`];
rl.close[];
7 sẽ luôn sử dụng đầy đủ luồng đầu vàoHiệu suất không ngang bằng với API sự kiện
import { createReadStream } from 'fs'00 truyền thống. Thay vào đó, hãy sử dụng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'00 cho các ứng dụng nhạy cảm với hiệu suất
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'00 sẽ bắt đầu sử dụng luồng đầu vào sau khi được gọi. Có các hoạt động không đồng bộ giữa tạo giao diện và lặp lại không đồng bộ có thể dẫn đến bỏ sót dòng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
273#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Lịch sửPhiên bảnThay đổiv15. 8. 0, v14. 18. 0
Giá trị sẽ luôn là một chuỗi, không bao giờ được xác định
v0. 1. 98Đã thêm vào. v0. 1. 98
Dữ liệu đầu vào hiện tại đang được nút xử lý
Điều này có thể được sử dụng khi thu thập đầu vào từ luồng TTY để truy xuất giá trị hiện tại đã được xử lý cho đến nay, trước khi sự kiện
import { createReadStream } from 'fs'274 được phát ra. Khi sự kiện
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'274 đã được phát ra, thuộc tính này sẽ là một chuỗi rỗng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Xin lưu ý rằng việc sửa đổi giá trị trong thời gian chạy phiên bản có thể gây ra những hậu quả ngoài ý muốn nếu
import { createReadStream } from 'fs'276 cũng không được kiểm soát
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Nếu không sử dụng luồng TTY cho đầu vào, hãy sử dụng sự kiện
import { createReadStream } from 'fs'00
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Một trường hợp sử dụng có thể sẽ như sau
import { createReadStream } from 'fs'73
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
276#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Vị trí con trỏ so với
import { createReadStream } from 'fs'273
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Điều này sẽ theo dõi vị trí của con trỏ hiện tại trong chuỗi đầu vào, khi đọc đầu vào từ luồng TTY. Vị trí của con trỏ xác định phần của chuỗi đầu vào sẽ được sửa đổi khi đầu vào được xử lý, cũng như cột nơi dấu mũ đầu cuối sẽ được hiển thị
import { createReadStream } from 'fs'
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
280#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Đã thêm vào. v13. 5. 0, v12. 16. 0
- trả lại.
import { createReadStream } from 'fs'
281 hàng của dấu nhắc mà con trỏ hiện đang dừng lại
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
282 cột màn hình mà con trỏ hiện đang dừng trên đó
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Trả về vị trí thực của con trỏ liên quan đến dấu nhắc đầu vào + chuỗi. Chuỗi đầu vào [gói] dài, cũng như lời nhắc nhiều dòng được đưa vào tính toán
API hứa hẹn #
Tầng lớp.
import { createReadStream } from 'fs'
283#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Các thể hiện của lớp
import { createReadStream } from 'fs'
283 được xây dựng bằng phương thức
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
9. Mọi phiên bản được liên kết với một luồngimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
6 Có thể đọc và một luồng duy nhấtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 Có thể ghi. Luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02 được sử dụng để in lời nhắc cho đầu vào của người dùng xuất hiện và được đọc từ luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
290#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
291 Một câu lệnh hoặc truy vấn để viết cho
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02, được đặt trước dấu nhắc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
293
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
294 Tùy chọn cho phép hủy bỏ
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
295 bằng cách sử dụng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
296
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
- trả lại. Một lời hứa được thực hiện với đầu vào của người dùng để đáp lại
import { createReadStream } from 'fs'
291
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'
298 hiển thị
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
291 bằng cách ghi nó vào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02, đợi đầu vào của người dùng được cung cấp trên
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6, sau đó gọi hàmimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
02 chuyển đầu vào được cung cấp làm đối số đầu tiênimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Khi được gọi,
import { createReadStream } from 'fs'
298 sẽ tiếp tục luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6 nếu nó đã bị tạm dừngimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Nếu
import { createReadStream } from 'fs'
283 được tạo với
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02 được đặt thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
228 hoặc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
229 thì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
291 không được viết
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Nếu câu hỏi được gọi sau
import { createReadStream } from 'fs'
07, nó sẽ trả về một lời hứa bị từ chối
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Ví dụ sử dụng
import { createReadStream } from 'fs'
07
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Sử dụng
import { createReadStream } from 'fs'
296 để hủy câu hỏi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
20
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Tầng lớp.
12#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
13#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
14#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
15import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
16. sang trái từ con trỏimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
17. sang phải từ con trỏimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
219. toàn bộ dòng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
- trả lại. cái này
Phương pháp
19 thêm vào danh sách nội bộ của hành động đang chờ xử lý, một hành động xóa dòng hiện tại củaimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
20 được liên kết theo một hướng cụ thể được xác định bởiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
15. Gọiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
22 để xem tác dụng của phương thức này, trừ khiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
23 được truyền cho hàm tạoimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
24#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Phương thức
24 thêm vào danh sách nội bộ của hành động đang chờ xử lý, một hành động xóa luồng được liên kết từ vị trí hiện tại của con trỏ xuống. Gọiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
22 để xem tác dụng của phương thức này, trừ khiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
23 được truyền cho hàm tạoimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
22#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Phương thức
22 gửi tất cả các hành động đang chờ xử lý đếnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
20 được liên kết và xóa danh sách nội bộ các hành động đang chờ xử lýimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
31#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Phương thức
32 thêm vào danh sách nội bộ của hành động đang chờ xử lý, một hành động di chuyển con trỏ đến vị trí đã chỉ định trongimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
20 được liên kết. Gọiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
22 để xem tác dụng của phương thức này, trừ khiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
23 được truyền cho hàm tạoimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
36#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Phương thức
37 thêm vào danh sách nội bộ của hành động đang chờ xử lý, một hành động di chuyển con trỏ so với vị trí hiện tại của nó trongimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
20 được liên kết. Gọiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
22 để xem tác dụng của phương thức này, trừ khiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
23 được truyền cho hàm tạoimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
41#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Các phương thức
42 xóa danh sách nội bộ của các hành động đang chờ xử lý mà không gửi nó đếnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
20 được liên kếtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
44#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
293
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6 Luồng có thể đọc để nghe. Tùy chọn này là bắt buộcimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 Luồng có thể ghi để ghi dữ liệu dòng đọc vào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
48 Một chức năng tùy chọn được sử dụng để tự động hoàn thành Tabimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
49import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
218 nếu luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6 vàimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 phải được coi như TTY và có mã thoát ANSI/VT100 được ghi vào đó. Vỡ nợ. kiểm tra
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
53 trên luồngimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 khi khởi tạo
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
55 Danh sách ban đầu của các dòng lịch sử. Tùy chọn này chỉ có ý nghĩa nếu người dùng đặtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
49 thànhimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
218 hoặc bằng cách kiểm tra nội bộ
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02, nếu không thì cơ chế lưu vào bộ nhớ đệm lịch sử hoàn toàn không được khởi tạo. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
59import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
09 Số dòng lịch sử tối đa được giữ lại. Để tắt lịch sử, hãy đặt giá trị này thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
219. Tùy chọn này chỉ có ý nghĩa nếu người dùng đặt
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
49 thànhimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
218 hoặc bằng cách kiểm tra nội bộ
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02, nếu không thì cơ chế lưu vào bộ nhớ đệm lịch sử hoàn toàn không được khởi tạo. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
65import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
npm i --save-exact event-stream
10 Nếuimport { createReadStream } from 'fs'
218, khi một dòng đầu vào mới được thêm vào danh sách lịch sử trùng lặp với một dòng cũ hơn, thao tác này sẽ xóa dòng cũ hơn khỏi danh sách. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
68import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
222 Chuỗi dấu nhắc sử dụng. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
70import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
71 Nếu độ trễ giữaimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
04 và
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
03 vượt quá
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
71 mili giây, cảimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
04 và
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
03 sẽ được coi là đầu vào cuối dòng riêng biệt.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
71 sẽ bị cưỡng chế đến một con số không ít hơnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
78. Nó có thể được đặt thànhimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
79, trong trường hợp đó,import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
04 theo sau bởi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
03 sẽ luôn được coi là một dòng mới [có thể hợp lý để đọc các tệp có dấu phân cách dòng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
05]. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
78import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
84 Khoảng thời gianimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
85 sẽ đợi một ký tự [khi đọc một chuỗi khóa không rõ ràng tính bằng mili giây, một chuỗi có thể tạo thành một chuỗi khóa hoàn chỉnh bằng cách sử dụng đầu vào đã đọc cho đến nay và có thể nhận thêm đầu vào để hoàn thành một chuỗi khóa dài hơn]. Vỡ nợ.import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
86import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
87 Số khoảng trắng của một tab bằng [tối thiểu 1]. Vỡ nợ.import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
88import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
- trả lại.
Phương thức
9 tạo một thể hiệnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
283 mới
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
21
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Khi phiên bản
import { createReadStream } from 'fs'
283 được tạo, trường hợp phổ biến nhất là lắng nghe sự kiện
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
00
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
22
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Nếu
49 làimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
218 đối với trường hợp này thì luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02 sẽ có khả năng tương thích tốt nhất nếu nó xác định thuộc tính
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
96 và phát ra sự kiệnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
97 trênimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 nếu hoặc khi các cột thay đổi [
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
99 tự động thực hiện việc này khi là TTY]Sử dụng hàmimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
48#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Hàm
48 lấy dòng hiện tại do người dùng nhập làm đối số và trả về mộtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
002 với 2 mục nhập
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}- Một
import { createReadStream } from 'fs'
002 với các mục phù hợp để hoàn thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]} - Chuỗi con đã được sử dụng để so khớp
Ví dụ.
import { createReadStream } from 'fs'
004
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Hàm
48 cũng có thể trả về a hoặc không đồng bộimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
23
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}API gọi lại #
Tầng lớp.
5#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Lịch sửPhiên bảnThay đổiv17. 0. 0
Lớp
5 hiện kế thừa từimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
259v0. 1. 104
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Đã thêm vào. v0. 1. 104
Các thể hiện của lớp
5 được xây dựng bằng phương thứcimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
00. Mọi phiên bản được liên kết với một luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6 Có thể đọc và một luồng duy nhấtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 Có thể ghi. Luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02 được sử dụng để in lời nhắc cho đầu vào của người dùng xuất hiện và được đọc từ luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
015#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
291 Một câu lệnh hoặc truy vấn để viết cho
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02, được đặt trước dấu nhắc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
293
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
294 Tùy chọn cho phép hủy bỏ
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
295 bằng cách sử dụng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
021
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
02 Một chức năng gọi lại được gọi với đầu vào của người dùng để đáp lạiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
291
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
Phương thức
import { createReadStream } from 'fs'
298 hiển thị
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
291 bằng cách ghi nó vào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02, đợi đầu vào của người dùng được cung cấp trên
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6, sau đó gọi hàmimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
02 chuyển đầu vào được cung cấp làm đối số đầu tiênimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Khi được gọi,
import { createReadStream } from 'fs'
298 sẽ tiếp tục luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6 nếu nó đã bị tạm dừngimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Nếu
5 được tạo vớiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 được đặt thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
228 hoặc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
229 thì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
291 không được viết
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Hàm
02 được truyền choimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
298 không tuân theo mẫu điển hình là chấp nhận một đối tượng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
038 hoặc
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
228 làm đối số đầu tiên.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
02 được gọi với câu trả lời được cung cấp làm đối số duy nhấtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Sẽ xảy ra lỗi nếu gọi
import { createReadStream } from 'fs'
298 sau
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
07
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Ví dụ sử dụng
import { createReadStream } from 'fs'
24
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Sử dụng
import { createReadStream } from 'fs'
021 để hủy câu hỏi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
25
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
044#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Lịch sửPhiên bảnThay đổiv18. 0. 0
Chuyển một cuộc gọi lại không hợp lệ cho đối số
02 giờ đây némimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
046 thay vì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
047v12. 7. 0
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Giá trị trả về và gọi lại write[] của luồng được hiển thị
v0. 7. 7Đã thêm vào. v0. 7. 7
20import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
15import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
16. sang trái từ con trỏimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
17. sang phải từ con trỏimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
219. toàn bộ dòng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
02 Được gọi sau khi thao tác hoàn tấtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
- trả lại. ________ 968 nếu ________ 920 muốn mã gọi chờ sự kiện ________ 2056 được phát ra trước khi tiếp tục ghi dữ liệu bổ sung;
Phương pháp
import { createReadStream } from 'fs'
058 xóa dòng hiện tại của luồng TTY đã cho theo một hướng cụ thể được xác định bởi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
15import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
060#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Lịch sửPhiên bảnThay đổiv18. 0. 0
Chuyển một cuộc gọi lại không hợp lệ cho đối số
02 giờ đây némimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
046 thay vì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
047v12. 7. 0
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Giá trị trả về và gọi lại write[] của luồng được hiển thị
v0. 7. 7Đã thêm vào. v0. 7. 7
20import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
02 Được gọi sau khi thao tác hoàn tấtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
- trả lại. ________ 968 nếu ________ 920 muốn mã gọi chờ sự kiện ________ 2056 được phát ra trước khi tiếp tục ghi dữ liệu bổ sung;
Phương thức
import { createReadStream } from 'fs'
070 xóa luồng TTY đã cho từ vị trí hiện tại của con trỏ xuống
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
071#
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Lịch sửPhiên bảnThay đổiv15. 14. 0, v14. 18. 0
Tùy chọn
import { createReadStream } from 'fs'
294 hiện được hỗ trợv15. 8. 0, v14. 18. 0
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Tùy chọn
55 hiện được hỗ trợv13. 9. 0import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Tùy chọn
87 hiện được hỗ trợv8. 3. 0, v6. 11. 4import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Xóa giới hạn tối đa của tùy chọn
71v6. 6. 0import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Tùy chọn
71 hiện được hỗ trợv6. 3. 0import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Tùy chọn
import { createReadStream } from 'fs'
222 hiện được hỗ trợv6. 0. 0
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Tùy chọn
import { createReadStream } from 'fs'
09 có thể là
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
219 ngay bây giờv0. 1. 98
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Đã thêm vào. v0. 1. 98
import { createReadStream } from 'fs'
293
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6 Luồng có thể đọc để nghe. Tùy chọn này là bắt buộcimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 Luồng có thể ghi để ghi dữ liệu dòng đọc vào
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
48 Một chức năng tùy chọn được sử dụng để tự động hoàn thành Tabimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
49import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
218 nếu luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6 vàimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 phải được coi như TTY và có mã thoát ANSI/VT100 được ghi vào đó. Vỡ nợ. kiểm tra
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
53 trên luồngimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 khi khởi tạo
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
55 Danh sách ban đầu của các dòng lịch sử. Tùy chọn này chỉ có ý nghĩa nếu người dùng đặtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
49 thànhimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
218 hoặc bằng cách kiểm tra nội bộ
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02, nếu không thì cơ chế lưu vào bộ nhớ đệm lịch sử hoàn toàn không được khởi tạo. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
59import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
09 Số dòng lịch sử tối đa được giữ lại. Để tắt lịch sử, hãy đặt giá trị này thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
219. Tùy chọn này chỉ có ý nghĩa nếu người dùng đặt
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
49 thànhimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
218 hoặc bằng cách kiểm tra nội bộ
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02, nếu không thì cơ chế lưu vào bộ nhớ đệm lịch sử hoàn toàn không được khởi tạo. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
65import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
npm i --save-exact event-stream
10 Nếuimport { createReadStream } from 'fs'
218, khi một dòng đầu vào mới được thêm vào danh sách lịch sử trùng lặp với một dòng cũ hơn, thao tác này sẽ xóa dòng cũ hơn khỏi danh sách. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
68import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
222 Chuỗi dấu nhắc sử dụng. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
70import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
71 Nếu độ trễ giữaimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
04 và
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
03 vượt quá
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
71 mili giây, cảimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
04 và
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
03 sẽ được coi là đầu vào cuối dòng riêng biệt.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
71 sẽ bị cưỡng chế đến một con số không ít hơnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
78. Nó có thể được đặt thànhimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
79, trong trường hợp đó,import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
04 theo sau bởi
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
03 sẽ luôn được coi là một dòng mới [có thể hợp lý để đọc các tệp có dấu phân cách dòng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
05]. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
78import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
84 Khoảng thời gianimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
258 sẽ đợi một ký tự [khi đọc một chuỗi khóa mơ hồ tính bằng mili giây, một chuỗi có thể tạo thành một chuỗi khóa hoàn chỉnh bằng cách sử dụng đầu vào đã đọc cho đến nay và có thể nhận thêm đầu vào để hoàn thành một chuỗi khóa dài hơn]. Vỡ nợ.
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
86import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
87 Số khoảng trắng của một tab bằng [tối thiểu 1]. Vỡ nợ.import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
88import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
294 Cho phép đóng giao diện bằng AbortSignal. Hủy bỏ tín hiệu sẽ gọi nội bộ
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}ConsoleLine 1
225 trên giao diện
Line 2
Line 3
Line 4
Line 5
...
- trả lại.
Phương thức
import { createReadStream } from 'fs'
00 tạo một thể hiện
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
5 mớiimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
26
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Khi phiên bản
5 được tạo, trường hợp phổ biến nhất là lắng nghe sự kiệnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
00
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
22
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Nếu
49 làimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
218 đối với trường hợp này thì luồng
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
02 sẽ có khả năng tương thích tốt nhất nếu nó xác định thuộc tính
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
96 và phát ra sự kiệnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
97 trênimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
02 nếu hoặc khi các cột thay đổi [
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
99 tự động thực hiện việc này khi là TTY]import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Khi tạo một
5 sử dụng đầu vào làimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
ConsoleLine 1
238, chương trình sẽ không kết thúc cho đến khi nhận được một ký tự EOF. Để thoát mà không đợi người dùng nhập, hãy gọi
Line 2
Line 3
Line 4
Line 5
...ConsoleLine 1
239Sử dụng hàm
Line 2
Line 3
Line 4
Line 5
...
48#import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Hàm
48 lấy dòng hiện tại do người dùng nhập làm đối số và trả về mộtimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
002 với 2 mục nhập
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}- Một
import { createReadStream } from 'fs'
002 với các mục phù hợp để hoàn thành
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]} - Chuỗi con đã được sử dụng để so khớp
Ví dụ.
import { createReadStream } from 'fs'
004
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Hàm
48 có thể được gọi không đồng bộ nếu nó chấp nhận hai đối sốimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
28
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}ConsoleLine 1
246#
Line 2
Line 3
Line 4
Line 5
...Lịch sửPhiên bảnThay đổiv18. 0. 0
Chuyển một cuộc gọi lại không hợp lệ cho đối số
02 giờ đây némimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
046 thay vì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
047v12. 7. 0
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Giá trị trả về và gọi lại write[] của luồng được hiển thị
v0. 7. 7Đã thêm vào. v0. 7. 7
Phương thức
ConsoleLine 1
250 di chuyển con trỏ đến vị trí đã chỉ định trong TTY
Line 2
Line 3
Line 4
Line 5
...
20 đã choimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
ConsoleLine 1
252#
Line 2
Line 3
Line 4
Line 5
...Lịch sửPhiên bảnThay đổiv18. 0. 0
Chuyển một cuộc gọi lại không hợp lệ cho đối số
02 giờ đây némimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
046 thay vì
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}import { createReadStream } from 'fs'
047v12. 7. 0
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Giá trị trả về và gọi lại write[] của luồng được hiển thị
v0. 7. 7Đã thêm vào. v0. 7. 7
Phương thức
ConsoleLine 1
256 di chuyển con trỏ so với vị trí hiện tại của nó trong một TTY
Line 2
Line 3
Line 4
Line 5
...
20 nhất địnhimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
ConsoleLine 1
258#
Line 2
Line 3
Line 4
Line 5
...Phương thức
ConsoleLine 1
259 làm cho luồng Có thể đọc đã cho bắt đầu phát ra các sự kiện
Line 2
Line 3
Line 4
Line 5
...ConsoleLine 1
260 tương ứng với đầu vào nhận được
Line 2
Line 3
Line 4
Line 5
...Theo tùy chọn,
ConsoleLine 1
261 chỉ định một phiên bản
Line 2
Line 3
Line 4
Line 5
...
5 mà tính năng tự động hoàn thành bị tắt khi phát hiện đầu vào đã sao chépimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Nếu
20 là TTY thì nó phải ở chế độ thôimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Điều này được gọi tự động bởi bất kỳ phiên bản readline nào trên
6 của nó nếuimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
6 là một thiết bị đầu cuối. Việc đóng phiên bảnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
import { createReadStream } from 'fs'
258 không ngăn
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
6 phát ra các sự kiệnimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
ConsoleLine 1
260
Line 2
Line 3
Line 4
Line 5
...import { createReadStream } from 'fs'
29
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Thí dụ. CLI nhỏ #
Ví dụ sau minh họa việc sử dụng lớp
5 để triển khai giao diện dòng lệnh nhỏimport * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
0import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Thí dụ. Đọc dòng tệp theo từng dòng #
Một trường hợp sử dụng phổ biến cho
import { createReadStream } from 'fs'
258 là sử dụng một tệp đầu vào mỗi lần một dòng. Cách dễ nhất để làm như vậy là tận dụng API
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}ConsoleLine 1
271 cũng như vòng lặp
Line 2
Line 3
Line 4
Line 5
...import { createReadStream } from 'fs'
264
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}Ngoài ra, người ta có thể sử dụng sự kiện
import { createReadStream } from 'fs'
00
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}
1import * as readline from 'node:readline/promises'; import { stdin as input, stdout as output } from 'node:process'; const rl = readline.createInterface[{ input, output }]; const answer = await rl.question['What do you think of Node.js? ']; console.log[`Thank you for your valuable feedback: ${answer}`]; rl.close[];
Hiện tại, vòng lặp
import { createReadStream } from 'fs'
264 có thể chậm hơn một chút. Nếu cả tốc độ và tốc độ của
import { createInterface } 'readline'const readFile = [] => { // Step 1
const rlInterface = createInterface[{
input: createReadStream['app.log'],
output: process.stdout,
terminal: false // to indicate this is not TTY
}] // Step 2
rlInterface.on['line', [line] => {
console.log[line]
}]}ConsoleLine 1
275 /
Line 2
Line 3
Line 4
Line 5
...ConsoleLine 1
276 đều cần thiết, thì có thể áp dụng cách tiếp cận hỗn hợp
Line 2
Line 3
Line 4
Line 5
...Làm cách nào để đọc từng dòng tệp trong js?
Trong JavaScript, phương thức tích hợp sẵn FileReader[] cùng với mô-đun readline có thể được sử dụng để đọc từng dòng tệp . Phương thức FileReader[] đọc nội dung của các tệp được lưu trữ trên hệ thống cục bộ. Hơn nữa, mô-đun readline thực hiện việc đọc nội dung. Cả hai phương pháp này đều yêu cầu nguồn của tệp.Làm cách nào để đọc dòng đầu tiên của tệp trong nút js?
Trong tất cả các phiên bản hiện tại của Node. js, readline. createInterface có thể được sử dụng như một lần lặp không đồng bộ, để đọc từng dòng tệp - hoặc chỉ cho dòng đầu tiên. Điều này cũng an toàn để sử dụng với các tệp trống.Làm cách nào để đọc tệp trong nút js?
Nút. js với tư cách là Máy chủ tệp . var fs = yêu cầu['fs']; . đọc tập tin. use the require[] method: var fs = require['fs']; Common use for the File System module: Read files.Làm cách nào để đọc 10 dòng cuối cùng của tệp trong nút js?
createReadStream['của bạn/tệp']; . createInterface[instream, outstream]; . on['line', function[line] { // xử lý dòng tại đây }]; . on['close', function[] { // làm gì đó khi kết thúc tại đây }];