Kết quả Promise
Thuộc phần Kiến thức cơ bản về Node.js trong hành trình Node.js của Coddy. Bài học 19 trên 33.
Một promise biểu thị kết quả sẽ có sau. Khác với phiên bản dùng callback trong node:fs, readFile từ node:fs/promises không nhận callback và trả về một promise. Phương thức .then nhận một hàm để gọi kèm kết quả khi đọc thành công.
import { readFile } from 'node:fs/promises';
readFile('name.txt', 'utf8').then((name) => {
console.log('Hello, ' + name);
});Tham số name chứa nội dung tệp, không phải một promise. Phần việc phụ thuộc vào nội dung đó cần đặt ở đây. Hiện tại, tệp đã được cung cấp và thao tác đọc thành công. Bước tiếp theo sẽ xử lý trường hợp đọc thất bại.
Thử thách
DễChạy practice.js trước: chương trình in ra Note: [object Promise]. Chương trình đang ghép văn bản với promise thay vì kết quả cuối cùng của promise.
Dùng callback .then để in nội dung đã đọc xong theo dạng Note: , sau đó là văn bản trong tệp. Nếu không có đối số, chương trình đọc note.txt và cho kết quả Note: Buy milk. Thử với other.txt: kết quả mong đợi là Note: Call Ada.
Tự làm thử
import { readFile } from 'node:fs/promises';
const file = process.argv[2] ?? 'note.txt';
console.log('Note: ' + readFile(file, 'utf8'));
Tất cả bài học trong Kiến thức cơ bản về Node.js
1Chạy JavaScript trên Node
Xin chào, NodeĐọc lệnhĐối số dòng lệnhCác lệnhTự luyện tập: Playground Express