Đầu vào nodejs
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách nhận đầu vào của người dùng trong một Nút. ứng dụng js CLI. Để làm điều này, bạn sẽ cần nghe 8 (Đầu vào tiêu chuẩn), Nút nào. js hiển thị dưới dạng 9, một luồng có thể đọc được Show
Các luồng được sử dụng để xử lý I/O. Bạn có thể tìm hiểu thêm về nó trong tài liệu này điều kiện tiên quyết
Tổng quanThiết lập dự ánĐể bắt đầu, hãy thiết lập dự án của chúng tôi Tạo một thư mục mới có tên là 0Trong thư mục, chạy
Điều này sẽ tạo ra một tệp 1Khi đã xong, hãy tạo một tệp mới có tên 2 để viết mã của chúng tôigói đọcGói 3 là gói tích hợp trong Node. js. 3 là một trình bao bọc xung quanh I/O tiêu chuẩnHãy nhập gói 3 vào tệp 2 của chúng tôi
Chúng ta nên tạo một đối tượng giao diện 3 mới bằng cách sử dụng phương thức 8 và định cấu hình các luồng có thể đọc và ghi. Hãy đặt luồng đầu vào và đầu ra lần lượt là 9 và 40
Chúng ta có thể đặt câu hỏi cho người dùng bằng cách sử dụng phương pháp 41Phương thức 41 nhận 2 đối số
Ví dụ 4đầu ra 1Bạn có thể thêm trình xử lý sự kiện cho sự kiện luồng 45 bằng phương pháp 46 4đầu ra 5Bạn có thể tìm hiểu thêm về gói 3 từ tài liệu của nóđịa ngục gọi lạiVấn đề với phương thức 41 là nó không trả về Promise. Do đó, chúng tôi không thể sử dụng async/await để tạm dừng luồng chương trình cho đến khi người dùng cung cấp đầu vàoNếu bạn muốn nhận nhiều đầu vào của người dùng theo trình tự, bạn phải thực hiện việc đó trong hàm gọi lại, như thế này 8Như bạn có thể thấy, điều này có thể nhanh chóng vượt khỏi tầm kiểm soát và mã sẽ khó quản lý Trình lặp không đồng bộPhép lặp không đồng bộ cho phép chúng ta lặp lại dữ liệu không đồng bộ, theo yêu cầu. Bạn có thể tạo trình lặp không đồng bộ lặp qua từng dòng trong luồng đầu vào Nếu bạn muốn tìm hiểu thêm về Async iterators, hãy tham khảo bài viết này 9Chúng tôi không thể sử dụng từ khóa 49 bên ngoài hàm 10. Vì vậy, chúng ta cần bọc tất cả mã của mình bên trong một hàm async 2Hãy tạo một chức năng mới có tên là 11 để nhắc người dùng và nhận thông tin đầu vàoChúng ta có thể sử dụng Ký hiệu. asyncIterator của đối tượng 3 để nhận giá trị tiếp theo trong luồng đầu vào 0Bây giờ, chúng ta có thể sử dụng chức năng này để lấy giá trị từ luồng đầu vào và sử dụng từ khóa 49 để tạm dừng thực thi cho đến khi chúng ta nhận được đầu vào từ người dùng 1Gói đồng bộ hóa đường đọcNếu bạn không phiền khi cài đặt gói bên ngoài, gói này sẽ tăng kích thước gói của ứng dụng CLI mà bạn đang xây dựng, bạn có thể sử dụng gói 14 để nhận dữ liệu đầu vào từ người dùng theo cách đồng bộHãy cài đặt 14 bằng cách chạy 2Bây giờ, hãy nhập gói 3Tương tự như gói 3, bạn có thể sử dụng phương pháp 17 để nhắc người dùng nhập liệuKhông giống như gói 3, bạn không phải chuyển hàm gọi lại cho hàm này. Phương thức 17 sẽ trả về đầu vào của người dùng 4Gói 40 còn có các chức năng khác như 41, 42, v.v. 41 được sử dụng để nhận phản hồi của người dùng từ một phím duy nhất mà không cần nhấn phím Enter. Hàm sẽ trả về 44 nếu nhấn “Y” hoặc 45 nếu nhấn thứ gì khác 5 42 được sử dụng để nhắc người dùng chọn một mục từ danh sách. Hàm sẽ trả về số mà người dùng đã chọn. Người dùng không phải nhấn nút Enter khi sử dụng chức năng này 6đầu ra 7Bạn có thể tìm hiểu thêm về gói 14 và các phương pháp khác có sẵn từ trang npm của nóHãy tóm tắt lại
|